Das eigene Social-Media-Konto zu besitzen klingt gut, bis man merkt, dass es auf dem Server eines anderen liegt, unter dessen Regeln und Verfügbarkeit. Eine eigene Mastodon-Instanz ändert das: Ihr Handle lautet @you@your-domain, und abschalten kann es nur Sie. Der Haken: Mastodon ist keine kleine Anwendung. Es lohnt sich zu wissen, worauf man sich einlässt.
Für wen das ist
- Eine Einzelnutzer-Instanz für Sie selbst oder den offiziellen Account Ihrer Firma.
- Eine kleine Community von Freunden oder ein Projektteam — Dutzende Menschen, nicht Tausende.
Für mehr betreiben Sie einen Dienst mit Moderationspflichten, Meldungen und echter Infrastruktur. Das ist ein anderes Gespräch.
Was es wirklich braucht
Mastodon betreibt mehrere Prozesse gleichzeitig: die Rails-Web-App, Sidekiq-Hintergrundworker, einen Streaming-Server, PostgreSQL und Redis. Durch die Föderation holt Ihr Server ständig Beiträge und Medien von anderen Servern, auch während Sie schlafen.
| Instanz | Tarif |
|---|---|
| Ein Nutzer, wenige Follows | Small-IP — 2 vCPU, 4 GB, $16/Monat |
| Kleine Community, aktive Föderation | Medium-IP — 4 vCPU, 6 GB, $20/Monat |
4 GB funktionieren, aber knapp; Sidekiq-Warteschlangen stauen sich, wenn ein populärer Beitrag, dem Sie folgen, Tausende Antworten bekommt. 6 GB geben Luft. Die zweite Grenze ist der Speicher — siehe den Abschnitt zu Medien.
Außerdem brauchen Sie eine Domain und eine eigene IP: Andere Server liefern auf Port 443 an Ihren.
Setup mit Docker
Das offizielle Repository bringt eine docker-compose.yml mit. Auf einem frischen Ubuntu-24.04-Server mit installiertem Docker:
git clone https://github.com/mastodon/mastodon.git
cd mastodon
git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)
touch .env.production
docker compose run --rm -v $(pwd)/.env.production:/opt/mastodon/.env.production \
web bundle exec rake mastodon:setup
docker compose up -d
Die Setup-Aufgabe fragt nach Domain, Datenbank- und Redis-Einstellungen (die Standards passen zur Compose-Datei), E-Mail-Einstellungen und dem ersten Admin-Konto. Alles landet in .env.production. Lesen Sie die Release Notes des ausgecheckten Tags — die Schritte ändern sich gelegentlich zwischen Hauptversionen.
Mastodon bringt eine nginx-Vorlage unter dist/nginx.conf mit. Kopieren Sie sie nach /etc/nginx/sites-available/, ersetzen Sie die Domain und holen Sie ein Zertifikat mit certbot. Unsere Anleitungen zum Reverse-Proxy und zur Domain decken beides ab.
E-Mail: über ein Relay
Mastodon verschickt Bestätigungs- und Passwort-Reset-Mails. Die Ports 25 und 465 sind auf unseren Servern geschlossen, also richten Sie Mastodon auf einen externen Anbieter für Transaktions-E-Mails über Port 587 aus:
SMTP_SERVER=smtp.your-provider.example
SMTP_PORT=587
SMTP_LOGIN=apikey
SMTP_PASSWORD=your-smtp-password
SMTP_FROM_ADDRESS=notifications@your-domain.example
Ehrlich gesagt wollen Sie ein Relay ohnehin. Mails von einer brandneuen Server-IP landen gern im Spam; ein Relay hat die Reputation, die Ihnen noch fehlt.
Medien: der Platzfresser
Jedes Bild und jedes Video von Konten, die Ihr Server sieht, wird lokal zwischengespeichert. Auf einer aktiven Instanz sind das Gigabytes pro Woche. Räumen Sie alte fremde Medien regelmäßig auf:
docker compose exec web tootctl media remove --days 7
docker compose exec web tootctl preview_cards remove --days 30
Legen Sie das in einen täglichen Cronjob. Wächst Ihre Instanz, verschieben Sie Medien über die S3_*-Einstellungen in .env.production in S3-kompatiblen Objektspeicher — dann hält die VPS-Platte nur noch die Datenbank.
Pflege
- Updates: neuen Tag holen,
docker compose pull, Migrationen laut Release Notes ausführen, neu starten. Keine Hauptversionen überspringen. - Backups: PostgreSQL dumpen und
.env.productionsicher aufbewahren — ohne seine Secrets funktioniert keine Wiederherstellung. Unsere restic-Anleitung deckt externe Kopien ab, und Managed Backups ergänzen tägliche Wiederherstellungspunkte des ganzen Servers. - Die Domain ist dauerhaft. Sie steckt in der Adresse jedes Kontos im Fediverse. Wählen Sie sie, bevor Sie das erste Konto anlegen.
Suchen Sie stattdessen etwas Leichteres für einen Team-Chat? Ein Matrix-Server passt vielleicht besser.
Kommentare
Noch keine Kommentare. Sei der Erste.