GNU social に Pleroma FE を導入してみる

OStatus の実装の一つに Pleroma というものがあります.

Mastodonともある程度APIの互換性があって一部のMastodon clientも利用できたりするらしいです. Elixir製で軽量,Raspberry Pi でも動くとのこと.ActivityPub に対応予定なのも良さそう.GNU social からの移行も出来るようになる予定とのことなのでこの辺りの実装が終わったら開発がとどおおっているように見える GNU social からの移行者が増えそうな気がします.( 自分はサブドメインに gnusocial とつけてしまったのを後悔.social とかにするんだった)

この辺の記事が参考になります.

Pleroma はバックエンドとフロントエンドが別れていて GNU social( + Qvitter Plugin ) と Pleroma FE(フロントエンド) という組み合わせが可能です.この Pleroma FE の導入は簡単そうなので既存の GNU social の上に導入してみました.

導入

導入は一番手軽そうな以下の手順を真似しました.

前提条件として,GNU social が動いていて Qvitter plugin が有効になっている必要があります.Qvitter は GNU social に含まれているので設定ファイルで有効にするだけでOKなはずです.

$ grep Qvitter /var/www/gnusocial.matoken.org/config.php 
addPlugin('Qvitter');

<追記>
Qvitter は GNU social に含まれているのは勘違いでした.以下から導入してください.

</追記>

次に以下の Pipelines から最新のzipを入手して展開します.

$ wget 'https://git.pleroma.social/pleroma/pleroma-fe/-/jobs/974/artifacts/download' -O pleroma-fe.zip
$ unzip pleroma-fe.zip 

展開してできたdistディレクトリ中の index.html を pleroma.html に変更します.

$ mv dist/index.html dist/pleroma.html

dist以下をGNU social のディレクトリにコピーして完了.

$ sudo -u www-data rsync -av dist/* /var/www/gnusocial.matoken.org/

導入した GNU social にログインした状態で /pleroma.html にアクセスすると Pleroma FE になります. / にアクセスすると元の Qviter なので併用可能です.

見た目は Qvitter とそんなに変わりませんがこの辺が気に入っています.

  • アイコンのアニメーション対応
  • 設定することでタイムラインの自動更新が可能(Enable automatic streaming of new posts when scrolled to the top)
  • ‘#NSFW’ が R18 注意の画像に差し替わってそれをクリックしないと表示されなく出来る 20180106_00:01:53-18586

縦長の画面にすると Qvitter と同じで Sidebar / Timeline に別れるので自動スクロールを有効にしてサブモニタに Timeline を表示するようにしています.

20180107_14:01:52-1314220180107_14:01:40-13089

Qvitter では自動更新されないし,自動更新可能なクライアントもいくつか試してみましたがいい感じのものが見当たらなかったので今これで落ち着いています.

ちなみに Pleroma FE だけだと API などは GNU social のままなので注意.

ちょっとしたカスタマイズ

static/config.json を修正することでデフォルトの壁紙やロゴ,テーマなどの変更が可能です. 壁紙は /static/bg.jpg /static/bgalt.jpg の2つが用意されています. NSFW 画像は static/img/nsfw.9399fe3.png のようです. static/styles.json でテーマが設定可能です.

不具合とか?

  • 非ログイン状態で /Pleroma.html にアクセスすると認証の窓が出てくるけど正しい認証情報を入力してもログインできない?一旦GSでログインしておくと良い.(GNU social は
    nightry だし 認証系の2FA plugin も入れているのでそのせいかも
  • タイミングにより通知が更新されないことがある?左側の「通知」を押すとmentionは全部取得する.(お気に入りの再取得は無理?)
  • 設定で「Enable automatic streaming of new posts when scrolled to the top」を有効にしているのに Timeline が自動更新されない.一番上にスクロールしている必要がある.上部のロゴ近辺をクリックすると一番上にジャンプする.