Mastodonインスタンス立ち上げ後にやること
なんとなくDockerでMastodonインスタンスを作れるが、まだやるべきことがあります。
デイリー、ウイークリー、マンスリーでやるべきタスクがあるのでこれをcronに登録する必要があります。
ユーザーがいる場合、サービスが止まらないか気にする必要があるので予めやっておくほうが良いです。
mastodon:dailyのcron設定
mastodon:dailyというコマンドがここでやれと言われているコマンドをまとめてやってくれています。
documentation/Maintenance-Tasks.md at master · tootsuite/documentation · GitHub
dailyで実行するものなのでcronに登録しましょう。
@daily cd /your/gitcloned/mastodon && /usr/local/bin/docker-compose run --rm web rake mastodon:daily | logger -t mastodon -p local0.info
mastodon:media:remove_remoteのcron設定
1週間以上前の添付ファイルのキャッシュを消します。
@weekly cd /your/gitcloned/mastodon && /usr/local/bin/docker-compose run --rm web rake mastodon:media:remove_remote 2>&1 | logger -t mastodon -p local0.info
docker-composeへのパスは絶対パスで指定しておくか、cron実行時のPATHを確認したうえで指定してください。
cron実行時とsshのときのPATHは異なる場合が有ります。
Let's Encryptの証明書の更新のcron設定
Let's Encryptの証明書の期限は90日です。
公式で60日での更新を奨めています。
FAQ - Let's Encrypt - Free SSL/TLS Certificates
monthlyで更新しましょう。
以下は最初にwebrootでやった場合です。standaloneの場合は一度nginxを止める必要があると思います。
@monthly /your/gitcloned/letsencryption/certbot-auto renew && /bin/systemctl reload nginx
一度手元でdry-runで実際に動作するのか試しておいたほうが良いです。
certbot-auto renew --dry-run
私の環境だとはnginxのconfが雑だったため動きませんでした。
大体下のリンクからパクったconfですが、rootの場所を設定していませんでした。
documentation/Production-guide.md at master · tootsuite/documentation · GitHub
nginxのインストール->証明書取得->mastodonインストールの順で作業してるとなんとなくうまく行ってしまうポイントなのでアレ。
ちなみに立ち上げたインスタンスです。
mastodoll.net