ActivityPub?に対応したサーバソフトウェアは、mastodonやpleromaの他にも色々あります。国産だとmisskeyというのがありますが、そこの作者がおひとりさま用の軽量サーバを開発しています。
misskey含めdolphinにもsimple html clientを対応させたいと考えているので、テスト用のサーバとして自宅の環境に一つ建ててみました。
githubには非dockerの方法しか書いてありませんが、実はdocker(docker-compose)で建てることができるようです。試しにこちらの方法でやってみました。
まず、git cloneでソース一式をダウンロードしてきます。つぎに、.configディレクトリ内のファイルをいじるのですが、ここでちょっと問題が。必要なサンプルファイルが1つ登録されていません。そこで、misskeyのリポジトリから取ってきました。
misskey/docker_example.env at develop · syuilo/misskey · GitHub
example.ymlをdefault.ymlにコピーして、中身を適宜書き換えます。dockerに対応させるためには、以下の変更が必要です。
default.ymlの編集
非Docker環境と同じ様に編集してください。
ただし、Postgresql、RedisとElasticsearchのホストはlocalhostではなく、docker-compose.ymlで設定されたサービス名になっています。
標準設定では次の通りです。サービス ホスト名
Postgresql db
Redis redis
ESはありませんので書かないです。
つぎに、docker_example.envをdocker.envにコピーして、中身を適宜書き換えます。コピー元のファイルはmisskeyのものなので、default.ymlのなかの記述に合わせるように書き換えてください。
このファイルはPostgresqlの設定を記述します。
最低限記述する必要がある設定は次の通りです。設定 内容
POSTGRES_PASSWORD パスワード(デフォルト:example-dolphin-pass)
POSTGRES_USER ユーザー名(デフォルト:example-dolphin-user)
POSTGRES_DB データベース名(デフォルト:dolphin)
サーバのポートなどがどう空いているかによって、ここらへんは変えておいたほうが良い場合もあります。
ここまでそろったら、docker-compose.ymlがあるディレクトリでビルドします。あ、他のソフトとポート番号3000番が重なる場合は、docker-compose.ymlを書き換えてください。
sudo docker-compose build
ビルドが無事終了したら次はDBの初期化を行います。
sudo docker-compose run --rm web npm run init
なんかたらたらどばーと流れたらうまく行っているはずです。で、dolphinを立ち上げる前にnginxの設定なんかをやります。こちらもmisskeyでの例が書いてあるサイトを参考にしてください。
nginxの設定がうまく行ったら、dolphinを立ち上げます。
sudo docker-compose run --rm web npm start
設定周りが問題なければ、ターミナルの画面にdolphinが立ち上がったというメッセージが表示されますので、設定したURLにアクセスするとアカウントを登録する画面が出てくるはずです。画面が出てこない場合は、自宅回線でうまく名前解決できていない場合がありますので、モバイル回線など別の回線からアクセスしてみてください。
アカウントとパスワードの登録が終わればひとまず終了です。ちなみに、さっきのdolphin立ち上げでターミナルが終了しない状態になっているので、ctrl+Cで一度終了させてから、up -dしてください。
sudo docker-compose up -d
これで動いているはずです。あとは色々設定周りや別のサーバのアカウントのフォローの仕方を調べてください(正常に動いているなら別のサーバのアカウントのリモートフォローができるはず)。
ざっくりとではありますが、サーバ立ち上げの話でした。