他インスタンスの情報が出ない……
ある日から、他のインスタンスからの情報が正常に表示されなくなっていました。症状としては……
- リモートフォローのトゥートが出てこない
- リモートユーザの情報が古い
- 連合タイムラインが流れない
- 画像が正常に表示されない
などなど、とにかく寂しい状態のインスタンスになってしまいました。
色々と調べた結果、何とか直すことができたのでメモしておきます。
対処法
mastodon:daily
タスクを実行してください。
Dockerを使用している場合は、docker-compose
コマンドを利用します。
[root@mstdn001 ~]# cd /usr/share/mastodon
[root@mstdn001 mastodon]# docker-compose run --rm web rails mastodon:daily
恒久対応
上記のコマンドが日時で実行されるようにcronを設定します。
@daily cd /usr/share/mastodon && docker-compose run --rm web rails mastodon:daily
原因
Mastodonの公式ドキュメント に書かれている内容を見落としていました。
There are several tasks that should be run once a day to ensure that mastodon is running smoothly. As your mastodon user run crontab -e and enter the following
翻訳:マストドンがスムーズに動作するように、1日に1回いくつかのタスク実行が必要です。マストドーンユーザーで「crontab -e」を実行し、次のように入力します…
なお、今回はDockerで構築した環境のため、公式ドキュメントのコマンドを一部書き換えてcronに登録しています。
/home/mastodon/.rbenv/shims/bundle exec rake mastodon:daily
docker-compose run --rm web rails mastodon:daily
結論
公式ドキュメントにはきちんと目を通しましょう。
時間のあるときに、mastodon:daily
の処理も読んでみたいと思います。
この処理が必要な理由
Mastodon で使用している PubSubHubbub と呼ばれる仕組みが関係しています。
他インスタンスとの連携は、7日で期限が切れるようになっており、mastodon:daily
でその更新処理を行っているとのことでした。
つまり、更新処理を行わないことで(期限が切れて)徐々に他インスタンスと連携が取れなくなり、寂しいインスタンスが出来上がってしまうわけですね。
この辺りの仕組みについては、 Mastodon インスタンスのリモートフォローの仕組みと必要な購読更新の設定方法 で詳細に解説されています。