−25%

auf Windows bei Jahreszahlung, bis 31.10. Zu den Tarifen

EQVPS

VPS für Mastodon: eine eigene kleine Instanz

Eine kleine Mastodon-Instanz auf dem VPS betreiben: ehrliche RAM- und Speicherangaben, Docker-Setup, E-Mail über ein SMTP-Relay und Medienbereinigung gegen volle Platten.

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

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.

InstanzTarif
Ein Nutzer, wenige FollowsSmall-IP — 2 vCPU, 4 GB, $16/Monat
Kleine Community, aktive FöderationMedium-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

Suchen Sie stattdessen etwas Leichteres für einen Team-Chat? Ein Matrix-Server passt vielleicht besser.

Bereit zum Bereitstellen? Zahle in Krypto, ohne KYC — online in etwa einer Minute.

Bereitstellen →

FAQ

Wie viel RAM braucht eine Mastodon-Instanz?

Für eine Einzelnutzer- oder kleine Instanz sind 4 GB das realistische Minimum und 6 GB komfortabel. Mastodon betreibt gleichzeitig einen Web-Prozess, Sidekiq-Worker, PostgreSQL und Redis, und die Föderation hält Sidekiq beschäftigt, auch wenn niemand postet.

Warum braucht Mastodon eine eigene IP?

Andere Server liefern Beiträge per HTTPS auf Port 443 an Ihren, und Leute öffnen Ihre Instanz im Browser. Dafür braucht es eingehenden Verkehr auf 443 an Ihrer eigenen IP, den NAT-Tarife nicht haben.

Wie verschickt Mastodon E-Mails?

Über einen externen Anbieter für Transaktions-E-Mails per SMTP-Submission auf Port 587. Die Ports 25 und 465 sind auf unseren Servern geschlossen, und ein Relay bringt ohnehin eine viel bessere Zustellbarkeit als eine frische IP.

Warum füllt sich meine Platte so schnell?

Ihr Server speichert Medien aller Konten, die er sieht, zwischen. Führen Sie 'tootctl media remove --days 7' regelmäßig aus oder lagern Sie Medien in S3-kompatiblen Objektspeicher aus.

Kann ich die Domain später ändern?

Nein. Die Domain ist Teil der Identität jedes Kontos im gesamten Fediverse. Wählen Sie sie sorgfältig, bevor das erste Konto angelegt wird.

Kommentare

Noch keine Kommentare. Sei der Erste.

Kommentar hinterlassen

Kommentare werden vor der Anzeige moderiert.