Docker で Akkoma をインストールする
Pleroma を立てたことを書いた。
しかし本当に実現したいのは、気軽にサーバーを管理できる Docker で Pleroma を立てることだが、これまで何度挑戦しても Docker はうまくできなかった。
そこで今回 Akkoma という Pleroma のフォークに挑戦してみた。Pleroma の Docker がうまくいなかなくても、Akkoma なら Docker がうまくいったという情報を見たからだ。
最初は Akkoma の Docker 用公式ドキュメントに従って作業をしたが、一度はうまくいったものの再度再現ができなかった。
Installing in Docker - Akkoma Documentation
https://docs.akkoma.dev/stable/installation/docker_en/
しかし以下の GitHub で公開されている方法だとうまくいった。
GitHub - chrisbanes/docker-akkoma
https://github.com/chrisbanes/docker-akkoma
今回も取得済みのドメインで Cloudflare Tunnel を使って公開した。
(0)Cloudflare Tunnel で以下の URL に対してドメインを設定する。
参考:
(1)Docker と docker-compose をインストールする。
(2)レポジトリーを clone し、中に移動する。
$ git clone https://github.com/chrisbanes/docker-akkoma
$ cd docker-akkoma
(3)ディレクトリを作成し、所有権の設定をする。
$ mkdir uploads config static
$ chown -R 1000:1000 uploads config static
(4)PostgreSQL で citext を使うため以下を実行。
$ sudo docker-compose up -d db
$ sudo docker exec -i akkoma_db psql -U akkoma -c "CREATE EXTENSION IF NOT EXISTS citext;"
$ sudo docker-compose down
(5)docker-compose.yml で以下の部分を編集する。
(6)ビルドする。
$ sudo docker-compose build
(7)インスタンスを立ち上げる。
$ sudo docker-compose up -d
すぐには立ち上がらず、僕の環境では数分かかった。以下のコマンドで進捗状況を確認できる。
$ sudo docker logs -f akkoma_web
[info] Tzdata has updated the release from 2021e to 2023d と表示されたあたりで、サイトにアクセスすると、'Welcome to Akkoma!' と書かれたページにアクセスできるはずだ。
(8)進捗状況の表示をしていた場合、ctrl + c で停止する。
(9)admin ユーザーを作成する。
$ sudo docker exec -it akkoma_web mix pleroma.user new {ユーザー名} {メールアドレス} --admin
'Continue? [n]' と聞かれるので、y と入力して return キーを押す。
パスワードリセット用の URL が表示されるのでそこにアクセスし、パスワードを設定する。
(10)まだフロントエンドがインストールされていないので、pleroma-fe、mastodon-fe、admin-fe をインストールする。
$ sudo docker exec -it akkoma_web mix pleroma.frontend install pleroma-fe --ref stable
$ sudo docker exec -it akkoma_web mix pleroma.frontend install mastodon-fe --ref akkoma
$ sudo docker exec -it akkoma_web mix pleroma.frontend install admin-fe --ref stable
pleroma-fe をインストールすることで Akkoma のサイトが使えるようになるし、admin-fe をインストールすると Admin FE(admin 用の設定ページ)にアクセスできるようになる。
さっそく Akkoma の URL にアクセスして9で作成したユーザー名とパスワードでログインしてみよう。
https://{ドメイン名}/web にアクセスすると、最初に許可を求められる。APPROVE をクリックすると Mastodon フロントエンドにアクセスできるようになる。ただしこれはログインユーザー向けのフロントエンドであり、一般公開用のページでは pleroma-fe がフロントエンドとなる。
(11)一旦インスタンスを停止する。
$ sudo docker-compose stop
(12)config/config.exs に以下を追記することで、Admin FE が使えるようになる(これを追記しないと、Admin FE にアクセスできるものの設定ができない状態のままだ)。
再度インスタンスを立ち上げよう。
$ sudo docker-compose up -d
ページ右上のメーターのようなアイコンをクリックすると Admin FE が開き、詳細設定ができるようになる。
例えば以下を Admin FE で設定した。
・「Settings>Upload>Filters」に Exiftool を追加することで、アップロードした写真の GPS 情報を取り除ける。
・「Settings>Instance>Registrations open」をオフにすることで会員登録を無効化。お一人様で使いたいため。
参考:
Akkoma - ActivityPubまとめwiki
https://scrapbox.io/activitypub/Akkoma
Akkomaサーバーを運用してみての感想 - Chienomi
https://chienomi.org/articles/linux/202302-akkoma.html
Akkoma サーバをたてて Fediverse デビューした - Think Proof, Count Two
https://blog.presche.me/posts/2023/02/build-akkoma/
Frontend Management - Akkoma Documentation
https://docs.akkoma.dev/stable/configuration/frontend_management/
Managing frontends - Akkoma Documentation
https://docs.akkoma.dev/stable/administration/CLI_tasks/frontend/
Managing installed frontends - Pleroma Documentation
https://docs-develop.pleroma.social/backend/administration/frontends-management/