Pleromaをインストールしてみた

I tried installing Pleroma

というわけで(どういわけで?w)、Pleromaをお試しで構築してみました。

環境

  • CentOS7
  • Docker
  • Soapbox-FE

今回はCentOSを使用します、と言うか私のサーバ全部CentOSなので・・
あとは、Dockerを使います。 そしてSoapbox-FEを入れます。

CentOSだとElixirやらなんやらではまりそうな“気がした“のでなんとなく。

では、始めましょう

Pleromaのインストール方法は事前に確認しておきます。
Dockerを使うので手順は違いますが、設定項目とかそこらへんは参考になりますからね。
とりあえず公式ドキュメントのほうをば。

んで、DockerはPleromaのれどめ書かれていたやつを採用。

While we don’t provide docker files, other people have written very good ones. Take a look at https://github.com/angristan/docker-pleroma or https://glitch.sh/sn0w/pleroma-docker.

Dockerの準備とビルド

DockerとDocker Composeはすでにインストール済みなので飛ばします。
こちらのインストールはすごく簡単ですからね。

続いて、先ほどのリポジトリにあるdocker-compose.ymlとDockerfileを適当なフォルダに準備。

あとは、いいのか悪いのかわからないですが、docker-compose.ymlのPostgreSQLバージョンを9.6から12.5に変えました。
そして、web側の永続化設定にinstanceを追加。

これは後程Soapboxを入れるための準備です。

mkdir instance
version: '2.3'

services:
  postgres:
    image: postgres:12.5-alpine
    container_name: pleroma_postgres
    restart: always
    environment:
      POSTGRES_USER: pleroma
      POSTGRES_PASSWORD: かえた
      POSTGRES_DB: pleroma
    volumes:
      - ./postgres:/var/lib/postgresql/data

  web:
    build: .
    image: pleroma
    container_name: pleroma_web
    restart: always
    ports:
      - '127.0.0.1:4000:4000'
    volumes:
      - ./uploads:/pleroma/uploads
      - ./instance:/pleroma/instance
    depends_on:
      - postgres

Dockerfile側は特に。
VOLUME /pleroma/instance/とか入れたほうがいいのかはよくわからなかった、書いておけばフォルダ作られるのかな?

あとはれどめにかかれているとーりにやっていきます。
ビルドがそれなりのパワー使う感じでちょっとあれですね。
非力なマシンで使いたい場合はdocker save(だっけ?)とか使ってイメージを移動させたりする必要があるのかな。

PostgreSQLのパスワードを書く場所が2か所あるのでそこだけ注意、私はそれを忘れて接続できずにやり直してました(あほ

あと、私は設定に以下を追加しました
これを使えば、WebUI側で色々設定ができるようになるみたい。

config :pleroma, configurable_from_database: true

ビルドは2回実行します。
時間はそこまでかからないですが、マシンがうねり声をあげていました。

起動と確認

無事にビルド&起動を確認出来たら、最初のアカウントを作ります。

これは普通のドキュメントに乗ってるやつですね。

docker exec web mix pleroma.user new <username> <your@emailaddress> --admin

あと、先ほどのコンフィグ関連のCLI動かします。

docker exec web mix pleroma.config migrate_to_db

あとはブラウザで確認!おkですね~。

Soapboxをいれる

今回の目的はSoapbox-FEを入れること!
サイトにアクセスして書いたままやるだけですが、CentOSにはbusyboxないので、適当にinstanceフォルダにぶちこみます。

cd instance
curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/v1.1.0/download?job=build-production -o soapbox-fe.zip
unzip soapbox-fe.zip
rm soapbox-fe.zip
chown -R 911:911 *

あとはアクセスすれば勝手にFEがSoapboxに! pleromaのやつ

気になる点

1.Dockerが毎回ビルドするの結構だるいですね。
一応OTPリリース向けのDockerをやってる人もいるのですが、それを試すのはまた落ち着いたらにしようかと。

2.あと、Dockerを使わずにOTPリリースを試そうとしたんですが、依存関係がCentOS7だとバージョン古いのしかなくてやめました。
自前でビルドしようと思ったんですが、時間的に眠かったのでスルー。

3.最初自分のユーザをhttps://ple.korako.me/@karasu_sueの形式でMastodonなりMisskeyで検索かけたら表示されず、
バグかと思って色々やっていましたが、どうやらそういうもののようでFEによって表示のされ方が違く、そのURIを使って外部から検索するのはだめだということに気づきました。
(tateisuさんからWebFingerの件教えてもらわなかったらまだ足掻いていたかも。。)

実際に外から検索しようとしたらちゃんと正しくhttps://ple.korako.me/users/karasu_sueとか、投稿もURLをコピーって選んでからのほうが安全でした。

終わりに

てな感じで、Pleroma。やってみました。

いや、以前ラズパイで動かしていたので2回目ではあるんですが、Dockerを使うのが初めてっていうことでw

今回はこの後モロヘイヤを入れてみたり、Soapbox-FEがどんなものとか、サーバ設定がどういう感じかとか見ていこうと思います。

今のところまともに使えそうなDeckを搭載しているFEがないので(Masto-FE除く)、メインで使用していくことはないと思いますが、
低スペックでも使えるので選択肢の一つとして見ていこうかなって感じです。

では、また。