えっとね、MastodonやMisskeyのサーバが抱えている投稿のうち、ローカルのものは大事な過去データだけど、リモートから来たものは、単なるキャッシュなのね。一時的なコピー。
私たちがアクセスするときに使うクライアント(Webもアプリも)は常時インターネットにつながっていないから、サーバがキャッシュしていてくれないと自分の時系列順のタイムラインがみられないので、必要なものなんだけどさ。
これ、タイムラインが時系列であることもあって、そんなに何日分も保持してなくたって大丈夫なんだ。
Mastodonの場合、2週間ログインしないとホームタイムラインをリセットする仕様なので、そのギリギリで、遡りで+2週間とすると、まあ30日分ぐらい保持していればいいかな。
古いものは、消しちゃって大丈夫。必要なときはリモートからもらえばいい。
この運用を実際に実践しているのがドン・ゴロツキというMastodonサーバで、MAUが33、まあ20人ぐらいが、日々面白おかしく過ごしてる小さなサーバなんだけど、
もう6年ちょい運用してるけど、データベースの総量は6GB、投稿データであるstatusesテーブルのサイズはたったの714MB。
ストレージ25GBのVPSだけど、これからもやっていける見通しだよ。
Mastodonには、tootctlというメンテナンスツールがあるんですけど、これに古い不要なリモート投稿を削除する機能がついてます。
どのぐらい保持しておくか、日数を設定します。
フォロー中の人や、リプライやブースト、お気に入り、ブックマーク、ピン留めされた投稿などは削除しませんが、
フォロー中の人の投稿を無条件で全部保護するとあんまり減らないので、これも削除対象とするオプションなどがあります。
これをバッチでまわしておくと、ドン・ゴロツキのような状態が維持できるわけです。
最近は本体に投稿を残す日数を指定する設定が増えましたが、こちらは日数だけで無条件で消すので、tootctl statuses removeを使った方が良いです。