最近、自分のサーバーから”サイトにアクセスできない”通知が飛んできました。
確認してみると、最近特に大きなファイルをサーバー上に保存したりしていないにも関わらず、ディスクの使用量が100%になっていました。
慌ててduコマンドで調べたところ、mastodonインスタンスに、大量の画像が溜まっていました。
mastodonの画像は、当該インスタンスで投稿した画像を除いて投稿されたサーバーに保持されているため、再び投稿を表示すれば再度元のサーバーから取得されます。
そのため、外部のサーバーから取得した投稿に添付されていた画像は消してしまっても問題がありません。
外部のサーバーから受信した画像をクリーニングするには、下記のコマンドを使用します。
docker compose -f /path/to/mastodon_dir exec web bash -c 'RAILS_ENV=production bundle exec bin/tootctl media remove'
上記コマンドを実行することで、デフォルトでは7日以上前に受信された画像ファイルを一括で削除できます。
自分の場合、この操作で7GBほどストレージ容量が空いたのに加え、Mastodonの動作自体が非常に軽くなりました。
Mastodonの容量圧迫にお悩みの方は、参考にしてみてください。
参考:
Using the admin CLI – Mastodon
勝手 Mastodon tootctl リファレンス (移植版) – Zenn