アプリをセルフホストすると自分のデータを自分で管理できたり、サービスへのロックインを防止できたりというメリットがありますが、アプリを自分のサーバーにインストールする際には何かとトラブルが発生しがちです。「Sandstorm」はWordPressなどのCMSやチャットアプリ、タスク管理アプリなど多種多様なアプリをボタン一発でセルフホストしてくれるプラットフォームとのことなので、実際に使って試してみました。

Sandstorm

https://sandstorm.org/

SandstormのインストールにはLinux 3.10以降のカーネルを搭載したx86-64アーキテクチャで動作するLinuxが必要です。メモリは最低1GB必要で、2GB以上を推奨しているとのこと。インストールは下記のコマンドを入力すればOK。

curl https://install.sandstorm.io | bash

インストールの際にいくつか設定を行います。インストールのタイプは一般用途の「1」を選択し、sudoの権限を求められるので「yes」と入力してエンターキーを押します。また、「sandcats.io」のサブドメインを無料で利用できるので希望するサブドメインを入力し、メールアドレスを入力します。



インストール時、Let's Encryptから証明書を取得するのにメールアドレスが必要です。先ほど入力したメールアドレスが表示されているのでそのままエンターキーを押せばOK。



これだけでインストールが完了しました。URLが表示されるので、コピーしてブラウザで開きます。



「Begin Sandstorm Setup」をクリック。



ログイン方法を設定します。今回はメールを使用するので、「E-mail」の「Configure」をクリック。



「Enable」をクリックします。



「Enabled」と表示されたのを確認し、「Next」をクリック。



続いて組織の設定を行います。一番上の設定にチェックを入れ、ドメインを入力することでそのドメインのメールアドレスでログインしたメンバー全員に管理権限を付与できます。



組織外の人とのやりとりを禁止する設定と、組織の他のメンバーを表示する設定にチェックを付けて「Save and continue」をクリック。



ログイン方法でメール認証を選択した場合、メールの設定が必要です。Sendgridやさくらのメールボックスなど一般的なメールサービスであればほとんど問題はありませんが、Gmailはサポートしていないとのこと。メールサーバーのホスト名・ポート番号および認証情報を入力し、「Test」をクリック。



テストメールの送信先アドレスを入力し、「Send test email」をクリックします。



下図の通り「Testing your Sandstorm's SMTP setting」というタイトルのメールが届けばOK。



「Save and continue」をクリックします。



事前インストールされているアプリが確認できます。「Next」をクリック。



最後に管理アカウントを作成します。メールアドレスを入力して「SEND LOGIN EMAIL」をクリック。



メールに記載されているリンクをクリックしてログインします。



「administration panel」をクリック。



プロフィールを設定し、「Continue」をクリックします。



管理画面が表示されました。インストール時の設定を変更したい場合やユーザーを管理したい場合にはこの画面から行う事が可能です。



「Apps」を開くと事前インストール済みのアプリが表示されます。新たにアプリを追加したい場合は「Install...」をクリック。



WordPressやMediaWikiなどのCMS、チャットアプリ、GitLabなどのGit管理ツールを始め多種多様なアプリがボタン一つでセルフホストできるようになっています。全アプリのリストについてはSandstorm App Marketのページで確認可能です。



「Grains」のページでは各種アプリで保存したドキュメントやチャット、メール、メモ、記事などのデータが確認できるとのことです。