Mastodon Instanz aufräumen - richtig mit Skript und Cronjob

  Lars Müller   Lesezeit: 3 Minuten  🗪 3 Kommentare Auf Mastodon ansehen

Seit 2020 betreibe ich die Instanz fulda.social. Ich stelle euch das Skript vor welches ich seit langem nutze, damit der Festplattenspeicher nicht ins unermessliche steigt.

mastodon instanz aufräumen - richtig mit skript und cronjob

Ich betreibe seit 2020 einen eigenen Mastodon-Server. Wer das ein paar Jahre macht, kennt das Problem: Die Daten wachsen einem irgendwann über den Kopf. Alte Statusmitteilungen, nicht mehr erreichbare Remote-Accounts, Vorschau-Karten, Caches, Medien von Accounts, die längst verschwunden sind – all das bleibt erst mal liegen und frisst Speicherplatz. Und zwar ordentlich.

Mastodon bringt zwar von Haus aus Wartungsbefehle mit, die über tootctl laufen. Damit lassen sich unreferenzierte Status, alte Medien oder verwaiste Daten nach einer gewissen Zeit entfernen. Das funktioniert, ist aber eher kleinteilig und erfordert regelmäßige Handarbeit oder eigene Cronjobs.

Vor einiger Zeit habe ich dann ein richtig gutes Aufräum-Skript entdeckt, das mir diese Arbeit fast komplett abnimmt.

Ein Skript, das im Hintergrund einfach seinen Job macht

Von einem Nutzer namens Tealk gibt es ein sehr gut gemachtes Wartungs-Skript, das mehrere dieser Aufgaben bündelt und automatisiert. Kein Gefrickel mit zig einzelnen Befehlen, sondern ein zentrales Skript, das man regelmäßig laufen lässt – per Cronjob oder als systemd-Service.

Was das Skript konkret macht:

Es löscht automatisch Remote-Accounts, die es gar nicht mehr gibt. Außerdem können gezielt alle Accounts von einer bestimmten Domain entfernt werden. Sehr praktisch, wenn eine Instanz abgeschaltet wurde oder dauerhaft Ärger macht.

Zusätzlich werden Remote-Accounts gelöscht, mit denen es seit langer Zeit keinerlei Interaktion gab. Auch alte Threads oder Status, auf die nie geantwortet wurde und die in keinem Gesprächskontext stehen, fliegen raus.

Ein weiterer Punkt, der oft unterschätzt wird: der Cache. Vorschau-Karten von Links, alte Vorschaubilder, temporäre Daten – all das sammelt sich an, kostet Speicher und erzeugt beim Zugriff unnötige Last. Das Skript räumt auch hier regelmäßig auf.

Gleiches gilt für Medien. Lokale Caches von Videos, Bildern und anderen Dateien, sowohl von lokalen Postings als auch von Remote-Accounts, werden nach definierten Regeln entfernt. Wenn etwas später doch noch gebraucht wird, kann der Server es sich einfach neu ziehen.

Meine Konfiguration und die Auswirkungen

Ich lasse das Skript jede Nacht einmal laufen. Dabei habe ich mir recht klare Regeln gesetzt:

  • Remote-Posts, die älter als 30 Tage sind, werden gelöscht.

  • Lokale gecachte Medien, die älter als sieben Tage sind, fliegen ebenfalls raus.

Das klingt vielleicht erst einmal aggressiv, funktioniert in der Praxis aber erstaunlich gut.

Beim ersten Durchlauf war ich selbst überrascht. Der Mastodon-Speicherverbrauch ist von rund 400 GB auf knapp unter 200 GB geschrumpft. Seitdem werden jede Nacht zwischen 500 MB und 1 GB Speicher freigeräumt – ganz automatisch, ohne dass ich irgendwas anfassen muss.

Der angenehme Nebeneffekt: Ich kann meinen Server mit deutlich weniger Speicherplatz betreiben. Das spart Kosten und hält das System insgesamt schlanker.

Klare Empfehlung für Admins

Wenn du einen Mastodon-Server betreibst und merkst, dass dir der Speicher langsam davonläuft, schau dir dieses Skript unbedingt an. Es spart auf Dauer extrem viel Arbeit, hält die Instanz sauber und nimmt dir einen großen Teil der Wartung ab.

Hier findest du das Projekt:

https://codeberg.org/Fedimins/mastodon-maintenance-tasks

Ich möchte das Ding ehrlich gesagt nicht mehr missen. Einmal sauber eingerichtet, läuft es einfach – und genau so sollte Server-Wartung im besten Fall auch sein.

Titelbild: https://joinmastodon.org/branding

Quellen: im Text




Tags

mastodon, Fediadmin

👓
Geschrieben von 👓 am 13. Januar 2026 um 15:55

Wie ist so die Kommunikation mit den Entwicklern von Mastodon? Müssten solche Tools nicht als Beispiel eingereicht werden und daraus Verbesserungen entstehen?

Ich meine, sowas wie eine Konfiguration der automatischen Wartung müsste man doch als Setting in der Admin Oberfläche finden.

Lars Müller
Geschrieben von Lars Müller am 14. Januar 2026 um 09:06

Dies geht alles via tootctl. Steht auch in der Admin Doku. Aber das Skript macht es einfacher.

👓
Geschrieben von 👓 am 15. Januar 2026 um 08:04

Das ist mir schon klar. Aber es ging mir hier darum, dass die sinnvollen Funktionen in eine Grafische Administrationsoberfläche einfliessen sollten und eigentlich sogar zum Auslieferungsstandard gehören sollte.