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 を使って公開した。

環境:
・VMware vSphere Hypervisor 7.0U3g(英語環境)
・Ubuntu Server 22.04.3

(0)Cloudflare Tunnel で以下の URL に対してドメインを設定する。

http://{ Ubuntu サーバーの IP アドレス}:4000

参考:

(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 で以下の部分を編集する。

environment:
  DOMAIN: {設定したい独自ドメイン}
  INSTANCE_NAME: {インスタンス名}
  ADMIN_EMAIL: { admin 用メールアドレス}
  NOTIFY_EMAIL: {通知用メールアドレス}

(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 にアクセスできるものの設定ができない状態のままだ)。

config :pleroma, configurable_from_database: true

再度インスタンスを立ち上げよう。

$ 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/


いいなと思ったら応援しよう!