Eigene Mastodon Instanz auf einem VPS betreiben

Eigene Mastodon Instanz (head image)

In unserer digitalen Welt, in der jeder fast jeden Moment auf Social Media teilt, ist Mastodon eine coole Alternative zu Plattformen wie Twitter (jetzt X genannt). Aber was ist Mastodon? Nun, es ist so etwas wie ein Do-it-yourself-Twitter, bei dem es nicht nur darum geht, deine Daten zu sammeln – und das Beste daran: Weil es Open-Source ist, ist es völlig kostenlos. In diesem Artikel erfährst du, was Mastodon ist, wie es sich von Twitter unterscheidet und warum es großartig ist, eine eigene Mastodon-Instanz zu haben. Außerdem helfen wir dir, deine eigene Mastodon Instanz auf einem Linux-Server einzurichten.

Die dezentrale Idee hinter Mastodon

Im Kern ist Mastodon nicht nur eine weitere Social-Media-Plattform, sondern ein Beweis für die Kraft der Dezentralisierung und der gemeinschaftsgetriebenen Entwicklung. Stell Dir ein sich ausbreitendes Netzwerk von miteinander verbundenen Instanzen vor, von denen jede als unabhängiger Knotenpunkt agiert und gemeinsam das riesige Universum von Mastodon bildet. Anstelle einer einzigen monolithischen Plattform mit einem zentralen Verwaltungsorgan ist Mastodon ein Ökosystem von Mikro-Communities, in dem jede Instanz auf ihre eigene Nutzerbasis, Inhaltspolitik und Verwaltungsstruktur zugeschnitten werden kann. Dieses dezentralisierte Modell fördert die Eigenverantwortung der Nutzer, den Datenschutz und die individuelle Anpassung und fördert eine digitale Landschaft, die die Vielfalt der Stimmen und Interessen in der realen Welt widerspiegelt.

Mastodon vs. Twitter

In der Welt der sozialen Medien zeichnet sich Mastodon durch seinen dezentralen Ansatz und die Konzentration auf mehr Kontrolle für die Nutzer aus. Das ist ein großer Unterschied zur Plattform X, die früher Twitter hieß. X hat zwar viele Nutzer und ist bekannt, hat aber mit Problemen zu kämpfen wie der Geheimhaltung von Nutzerdaten, der Unklarheit über die Funktionsweise ihrer Algorithmen und der Kontrolle aller Aktivitäten auf der Plattform durch eine zentrale Instanz. Die Arbeitsweise von Mastodon ist dagegen eher gemeinschaftsorientiert und überlässt den Nutzern die Verantwortung. . Bei Mastodon werden die Beiträge einfach in der Reihenfolge angezeigt, in der sie erstellt wurden, was die Dinge offen hält und echte Gespräche fördert. Außerdem können Nutzer und Administratoren die Plattform individuell anpassen, lokale Gemeinschaften aufbauen und die Regeln für die Inhalte selbst festlegen.

Vorteile einer eigenen Mastodon Instanz

Wenn Du in das soziale Netzwerk Mastodon einsteigen willst, hast Du die Wahl: Du kannst auf eine bestehende Instanz aufspringen oder Deine eigene Instanz einrichten. Schauen wir uns das mal an. Der Beitritt zu einer bestehenden Instanz kann wie ein Umzug in eine fertige Nachbarschaft sein – Du bist sofort Teil einer bestehenden Community. Aber es gibt Grenzen, wie sehr du die Dinge anpassen kannst. Auf der anderen Seite bietet das Hosten einer eigenen Instanz eine ganze Reihe von Vorteilen. Du bist der Chef deiner Mastodon-Welt – du kannst sie so aussehen und funktionieren lassen, wie du willst. Du bist für die Regeln verantwortlich, was bedeutet, dass du sie zu einem freundlichen und gemütlichen Ort für dich und deine Freunde machen kannst, frei von jeglichem unerwünschten Lärm. Außerdem sind Deine Daten in Deiner Hand, Du musst Dir also keine Sorgen um Deine Privatsphäre machen.

Eigenen Mastodon Server erstellen

In diesem Artikel erfährst du, wie du diese Vision in die Realität umsetzen kannst, indem du deine eigene Mastodon-Instanz auf einem Linux-Server mit Debian 11 installierst. Diese Reise wird Dich mit den Werkzeugen und Einblicken ausstatten, die Du brauchst, um die technischen Aspekte der Einrichtung und Wartung einer selbst gehosteten Mastodon-Instanz zu navigieren, damit Du Dir Deinen digitalen Hafen in den riesigen Weiten des dezentralisierten sozialen Webs schaffen kannst.

Voraussetzungen

Bevor du mit der Einrichtung deiner eigenen Mastodon-Instanz beginnst, gibt es einige wichtige Voraussetzungen zu beachten. Erstens benötigst du einen Server mit Debian 11 oder Ubuntu 20.04, auf dem du deine Mastodon-Instanz hosten kannst. Auch eine geeignete Domain ist erforderlich. Glücklicherweise bieten wir bei Contabo beides an! Klicke hier, wenn du eine Domain brauchst (.de-Domains schon ab 0,99€!). Wenn Du einen passenden Server brauchst, haben wir auch das für Dich! Abhängig von der Anzahl der Nutzer und der allgemeinen Aktivität auf deiner Instanz benötigst du unterschiedliche Mengen an RAM, CPU-Kernen und Speicherplatz. Unser VPS M SSD bietet eine gute Ausgangsbasis für Deine Mastodon-Reise. Wir bieten hier auch VPS mit anderen Konfigurationen an.

Installation unter Debian 11

Los gehts mit der Installation von Mastodon auf einem Debian 11 Linux-Server. Folge diesen Schritten, um deine Instanz zum Leben zu erwecken:

System updaten

Beginne mit der Aktualisierung der Paketliste deines Systems und aktualisiere alle vorhandenen Pakete:

apt update
apt upgrade

System-Repositories installieren

Stelle sicher, dass curl, wget, gnupg, apt-transport-https, lsb-release und ca-certificates zuerst installiert werden, da diese Pakete zum Fortfahren erforderlich sind:

apt install -y curl wget gnupg apt-transport-https lsb-release ca-certificates 

NodeJS installieren

Jetzt ist es an der Zeit, NodeJS zu installieren, um die JavaScript-Abhängigkeiten von Mastodon zu verwalten:

curl -sL https://deb.nodesource.com/setup_16.x | bash - 

PostgreSQL installieren

Als Datenbanksoftware wird PostgreSQL benötigt. Installiere sie mit diesen beiden Befehlen:

wget -O /usr/share/keyrings/postgresql.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc 
echo "deb [signed-by=/usr/share/keyrings/postgresql.asc] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/postgresql.list 

Weitere Pakete installieren

apt install -y \ 

  imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \ 

  g++ libprotobuf-dev protobuf-compiler pkg-config nodejs gcc autoconf \ 

  bison build-essential libssl-dev libyaml-dev libreadline6-dev \ 

  zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev \ 

  nginx redis-server redis-tools postgresql postgresql-contrib \ 

  certbot python3-certbot-nginx libidn11-dev libicu-dev libjemalloc-dev

Yarn aktivieren

Um Yarn zu aktivieren nutze den folgenden Befehl:

corepack enable 

Stelle nun die Yarn Version ein:

yarn set version classic 

Ruby installieren

Da .rbenv für einen einzelnen Linux-Benutzer installiert werden muss, erstellen wir einen Mastodon-Benutzer mit deaktiviertem Login, bevor wir mit der eigentlichen Installation von Ruby beginnen können:

adduser --disabled-login mastodon 

Nun wechseln wir zum Mastodonuser:

su – mastodon 

Beginnen wir nun mit der eigentlichen Installation von Ruby, indem du die folgenden Befehle nacheinander ausführst:

git clone https://github.com/rbenv/rbenv.git ~/.rbenv 
cd ~/.rbenv && src/configure && make -C src 
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc 
echo 'eval "$(rbenv init -)"' >> ~/.bashrc 
exec bash 
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build 
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.2.2 

Wunder dich nicht: Dieser Schritt dauert extrem lange!

rbenv global 3.2.2 
gem install bundler --no-document 

Bevor wir nun mit der Einrichtung von PostgreSQL fortfahren, wechseln wir mit folgendem Befehl zurück zum Benutzer root:

exit

PostgreSQL einrichten

Es ist an der Zeit eine Datenbank samt Benutzer für unsere Mastodon Instanz anzulegen. Dies geht mit den folgenden Befehlen:

sudo -u postgres psql 
CREATE USER mastodon CREATEDB; 

Verlasse nun PostgreSQL mit diesem Befehl:

\q

Mastodon Einrichten

Wechsle erneut zum Mastodon Benutzer:

su - mastodon

Downloade und installiere nun die benötigten Dateien indem Du die folgenden Befehle nacheinander ausführst:

git clone https://github.com/mastodon/mastodon.git live && cd live 
git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1) 
bundle config deployment 'true' 
bundle config without 'development test' 
bundle install -j$(getconf _NPROCESSORS_ONLN) 
yarn install --pure-lockfile 

Starte die finale Installation nun mit diesem Befehl:

RAILS_ENV=production bundle exec rake mastodon:setup 

Hier erstellst du eine Konfigurationsdatei, führst die Vorkompilierung der Assets durch, erstellst das Datenbankschema, legst dein Administratorkonto an und stellst ein paar andere Optionen ein, z. B. ob du Registrierungen auf deiner Instanz aktivieren möchtest. Der Einrichtungsprozess ist sehr einfach.

Reverse-Proxy mit Nginx erstellen

cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon 
nano /etc/nginx/sites-available/mastodon 

Füge die folgenden zwei Zeilen nach diesem Teil ein:

Eigene Mastodon Instanz (temp cert)
ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key; 

Speicher die Datei mit [STRG] + [O] und verlasse den Editor mit [STRG] + [X].

Die Datei sollte jetzt so aussehen:

Eigene Mastodon Instanz (insert temp cert)

Aktiviere die Config nun mit dem folgenden Befehl:

ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon 
systemctl reload nginx 

SSL-Zertifikat installieren

Um unsere Mastodon-Instanz sicherer zu machen, werden wir ein kostenloses SSL-Zertifikat mit certbot installieren. Dadurch werden Let’s Encrypt-Zertifikate für unsere Instanz installiert. Hast du dich schon einmal gefragt, was SSL-Zertifikate sind und wie sie – und der ganze Prozess – eigentlich genau funktioniert? Dann lies dir gerne unseren Leitfaden zu SSL durch.

certbot --nginx -d [your-domain]

Mastodon Service starten

cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/ 
$EDITOR /etc/systemd/system/mastodon-*.service 
systemctl daemon-reload 
systemctl enable --now mastodon-web mastodon-sidekiq mastodon-streaming 

Jetzt musst du eine ca. Minute warten, bis alles eingerichtet ist, und dann deine Domain in den Browser eingeben.

Du wirst dann von diesem Homescreen begrüßt:

Eigene Mastodon Instanz (Final Screen)

Herzlichen Glückwunsch! Du hast erfolgreich deine eigene Mastodon-Instanz auf deinem Server installiert. Viel Spaß beim Einladen von Freunden und beim Anpassen deiner Social-Media-Erfahrung. Erfahre mehr darüber, wie du Mastodon anpassen kannst, in der offiziellen Dokumentation.

Nach oben scrollen