Ein eigener Mastodon-Server – Was man dazu braucht und wie das geht

Ein eigener Mastodon-Server – Was man dazu braucht und wie das geht

Mastodon ist aktuell ja wieder in aller Munde. Die aktuellen Entwicklungen der letzten Wochen bei Twitter sind ja durchaus beunruhigend und haben schon viele User dazu bewogen, zu Mastodon umzuziehen oder dieses zumindest parallel zu nutzen. Die dezentrale Struktur von Mastodon erlaubt es sogar, dass man eine eigene Mastodon-Instanz betreiben kann. Und genau das habe ich nun gemacht.

Was ist Mastodon?

Mastodon ist eine soziales Netzwerk bzw. eine Mikroblogging-Plattform, die sehr ähnlich funktioniert wie Twitter. Der große Unterschied ist aber, dass es sich dabei nicht um den Dienst eines kommerziellen Anbieters handelt, sondern um ein dezentrales Netzwerk, an dem alle teilnehmen können. Wenn man sich bei Mastodon registrieren möchte, muss man also zunächst einen Mastodon-Server auswählen. Trotzdem kann man mit allen Usern auf allen Servern genauso kommunizieren, als wenn diese auf dem gleichen Server angemeldet sind.

Mastodon setzt auf dem ActivityPub Protokoll auf, somit ist eine Kommunikation auch zu anderen Diensten möglich, die ebenfalls auf ActivityPub basieren. Mastodon ist also zunächst einmal eine Open Source Software, die seit 2016 von Eugen Rochko und seiner Firma Mastodon gGmbH entwickelt wird.

Die Anzahl der aktiven Instanzen ist in den letzten Wochen rapide angestiegen und viele Instanzen lassen aktuell gar keine Registrierungen mehr zu. Aktive und öffentliche Instanzen lassen sich aber z.B. über instances.social finden. Oder man setzt eben eine eigene Mastodon-Instanz auf. Ebenfalls öffentlich, auf der Basis von Einladungen, oder eben als Single-User-Instanz nur für sich selber.

Die eigene Mastodon-Instanz

Ich habe mich also dazu entschieden eine eigene Instanz aufzusetzen. Als Single-User-Lizenz, allerdings ohne das entsprechende Konfigurations-Flag, damit ich auch die Möglichkeit hätte, weitere User einzurichten z.B. als Bot oder Ähnliches. Aber der Reihe nach.

Die Dokumentation von Mastodon ist eigentlich ziemlich gut, allerdings will ich auf einige Punkte hier doch nochmal etwas individueller eingehen.

Was braucht man für eine eigene Instanz?

Bevor man mit der eigentlichen Installation und Konfiguration beginnen kann, müssen allerdings ein paar Vorüberlegungen bzw. Vorbereitungen getroffen werden. Theoretisch könnte man die Instanz auch auf einem lokalem Server, einer NAS oder Ähnlichem installieren, allerdings ist die Nutzung eines VPS/vServers deutlich einfacher, da man sich dabei nicht mit der Firewall, Port-Freigaben und Ähnlichem herumschlagen muss.

Kleine VPS gibts es schon für ein paar Euro im Monat, allerdings konnte ich keine eindeutigen Informationen finden, welche Ressourcen für den Betrieb einer Single-User-Instanz wirklich nötig sind. Wie ich inzwischen weiß, sind RAM und CPU gar nicht das größte Problem, sondern in erster Linie der verfügbare Speicherplatz, denn Mastodon benötigt davon erheblich mehr als man vermuten würde. Aber dazu später mehr.

Dann benötigt man natürlich eine eigene Domain, oder zumindest eine Subdomain von einer bereits vorhandenen Domain. Ich habe mir kurzerhand die Domain mielke.social registriert.

Außerdem benötigt man ein SMTP-Relay, bzw. einen SMTP-Server, über den die Mastodon-Instanz E-Mails versenden kann, z.B. für Notifications.

Da wie oben bereits erwähnt der Speicherplatz zum Problem werden könnte, wird seitens Mastodon außerdem empfohlen, zusätzlich einen Object Storage Provider zu nutzen. Dieser sollte Amazon S3 kompatibel sein. Dort wird dann der größte Teil des statischen Contents, also Bilder, Icons, etc. gespeichert. Das habe ich allerdings aktuell noch nicht eingerichtet.

Vorbereitung des VPS

Mastodon empfiehlt Ubuntu 20.04 oder Debian 11 – ich habe ich mich für Debian 11 entschieden. Wenn der VPS eingerichtet bzw. aktiviert ist, sollten zunächst noch ein paar sicherheitsrelevante Dinge konfiguriert werden. Dazu gehört die Deaktivierung des passwort-basierten SSH-Logins auf den Login per SSH-Key. Weiterhin wird empfohlen mittels Fail2ban unerlaubte Login-Versuche automatisiert zu blockieren. Und natürlich die Installation entsprechender Firewall-Regeln mit iptables, sodass nur die HTTP(S) und SSH-Ports offen sind.

Wenn der VPS eingerichtet bzw. aktiviert ist, muss man noch den A-Record der Domain bzw. Subdomain auf die IP-Adresse des VPS setzen. Wenn dieser auch per IPv6 erreichbar ist, dann natürlich auch den AAAA-Record. Sobald der VPS dann über diese Domain erreichbar ist, kann man mit der Installation beginnen.

Die Installation von Mastodon

Die einzelnen Schritte der Installation sind in der offiziellen Dokumentation gut beschrieben. Wenn man diese nacheinander wie angegeben ausführt, kann man im Anschluss die Domain im Browser aufrufen und sollte die Startseite des eigenen Mastodon-Servers sehen und sich dort mit dem zuvor festgelegten User anmelden können. Aber der Reihe nach.

Vorbereitungen

Zunächst sollte man zum root User wechseln:

sudo su -

Je nachdem, wie die Distribution auf dem Server installiert wurde, sollten zunächst noch einige grundlegende Pakete installiert werden, falls diese noch nicht vorhanden sind:

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

Node.js

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

PostgreSQL

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

Notwendige System-Pakete

apt update
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

corepack enable
yarn set version classic

Ruby

Aufgrund von zukünftigen Updates sollte Ruby unter dem User laufen, bei dem auch Mastodon installiert wird. Also wird zunächst der User angelegt:

adduser --disabled-login mastodon

Dann muss zu diesem User gewechselt werden:

su - mastodon

Jetzt wird Ruby mit allen notwendigen Abhängigkeiten installiert:

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.0.4
rbenv global 3.0.4
gem install bundler --no-document
exit

Konfiguration von PostgreSQL

PostgreSQL ist schon installiert, muss aber noch für die Verwendung von Mastodon eingerichtet werden. Für die Konfiguration der optimalen Performance-Parameter sollte man das Tool pgTune aufrufen. Dort trägt man die Eckdaten des VPS ein und bekommt dann die notwendigen Parameter angezeigt, die man in die postgresql.conf eintragen sollte:

nano /etc/postgresql/15/main/postgresql.conf

Man muss diese Parameter in der Datei suchen und durch die vorgeschlagenen Werte ersetzen. Im Anschluss muss PostgreSQL neu gestartet werden:

systemctl restart postgresql

Da sich Mastodon ohne Passwort an der Datenbank anmelden können muss, benötigt man einen User, der mit dem Linux-Systembenutzernamen übereinstimmt.

sudo -u postgres psql
CREATE USER mastodon CREATEDB;
q

Installation und Konfiguration von Mastodon

Jetzt wird die eigentliche Mastodon-Software installiert:

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

Die Software ist nun installiert und als nächstes wird der Setup-Wizard aufgerufen:

RAILS_ENV=production bundle exec rake mastodon:setup

Dabei werden verschiedene Eintellungen abgefragt und im Anschluss in der Datei .env.production gespeichert.

  • Domain name: Die Domain des VPS bzw. des Mastodon-Servers
  • Do you want to enable single user mode?: N
  • Are you using Docker to run Mastodon?: N
  • PostgreSQL host: default – Nur Enter drücken
  • PostgreSQL port: default – Nur Enter drücken
  • Name of PostgreSQL database: default – Nur Enter drücken
  • Name of PostgreSQL user: default – Nur Enter drücken
  • Password of PostgreSQL user: leer lassen – Enter drücken
  • Redis host: default – Nur Enter drücken
  • Redis port: default – Nur Enter drücken
  • Redis password: default – Nur Enter drücken
  • Do you want to store uploaded files on the cloud?: N
  • Do you want to send e-mails from localhost?: N
  • SMTP server: Die Adresse des SMTP-Servers
  • SMTP port: Der Port des SMTP-Servers (meist 587 oder 465)
  • SMTP username: Die Mail-Adresse bzw. der Username des SMTP-Servers
  • SMTP authentication: plain
  • SMTP OpenSSL verify mode: none
  • E-mail address to send e-mails "from": Absender-Adresse für Mails – Meist die gleiche wie SMTP-Login
  • Send a test e-mail with this configuration right now?: Y (Ja, E-Mail Test durchführen)
  • Send test e-mail to: Beliebige externe E-Mail-Adresse als Empfänger eingeben
    (Soweit ich mich erinnere wird man auch gefragt ob es geklappt hat und kann die Einstellungen bei Bedarf ändern)
  • Save configuration?: Y
  • Prepare the database now?: Y
  • Compile the assets now?: Y
  • Do you want to create an admin user straight away?: Y
  • Username: Account-Name des Mastodon-Users der Admin-Rechte bekommen soll.
  • E-Mail: E-Mail-Adresse des obigen Users

Damit ist die Grundeinrichtung fast abgeschlossen und man kann zurück zum root User wechseln:

exit

Einrichtung von nginx

Mastodon liefert ein Konfigurations-Template mit, das nur kopiert werden muss:

cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon
ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon

In der Datei /etc/nginx/sites-available/mastodon muss dann aber noch der Domainname example.com durch die eigene Domain ersetzt werden:

nano /etc/nginx/sites-available/mastodon

Danach kann ngnix neu gestartet werden:

systemctl reload nginx

SSL-Zertifikat

Als letztes benötigen wir noch ein SSL-Zertifikat (example.com muss dabei natürlich durch die eigene Domain ersetzt werden):

certbot --nginx -d example.com

Danach muss ngnix noch einmal neu gestartet werden:

systemctl reload nginx

Jetzt sollte man bereits die Domain im Browser aufrufen können, allerdings noch eine Fehlermeldung von Mastodon sehen, da die Dienste erst noch gestartet werden müssen.

Mastodon-Dienste aktivieren und starten

Jetzt muss Mastodon nur noch aktiviert und gestartet werden:

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

Das war es! Mastodon ist installiert und man sollte sich mit dem zuvor definierten Mastodon-User anmelden können. Neben den erweiterten Funktionen als Administrator, hat man natürlich die gleichen Einstellungs-
Möglichkeiten, wie auf jeder anderen Mastodon-Instanz auch – Also Name, Beschreibung, Avatar, etc. und kann dann den Umzug des Accounts auf den eigenen Server vornehmen. Beim Umzug werden alle Followings und Follower übernommen, man kann also genauso weiter posten/tröten, wie bisher auch. Lediglich die bisherigen Posts/Tröts können nicht übernommen werden und verbleiben auf der bisherigen Instanz. Aber das ist bei jedem Umzug zwischen Mastodon-Instanzen so.

Einrichten von Relais – Föderierungsrelay

Da man ja auf der eigenen Instanz nicht nur Selbstgespräche führen will, muss man diese nun noch mit dem Fediverse verbinden, damit die eigenen Posts/Tröts auf anderen Instanzen sichtbar sind und damit man auch die Posts/Tröts der Followings lesen kann. In der Administration kann man dazu ein oder mehrere Relais eintragen.

Leider konnte ich dazu in der offiziellen Dokumentation gar nichts finden. Man findet bei Google zwar viele Infos über verfügbare Relais, allerdings auch nichts darüber wie viele Relais sinnvoll sind. Ich habe aktuell knapp 10 Relais eingetragen und aktiviert und diese zwischenzeitlich auch immer mal wieder getauscht. Allerdings konnte ich dabei keine Änderungen in der Timeline feststellen. Zumindest habe ich versucht Relais zu verwenden, die augenscheinlich im deutschsprachigen Raum beheimatet sind. Somit sollte ich vermutlich eine vernünftige Anbindung an meine Followings und Follower haben.

Cronjobs zum regelmäßigen Aufräumen

Ich hatte zunächst den kleinst-möglichen VPS mit 40GB Speicherplatz, 2GB RAM und 1 vCPU, da ich wie gesagt nicht einschätzen konnte, wie viele Ressourcen Mastodon benötigt. Ich hatte aber schon die Befürchtung, dass das knapp werden könnte. Wobei ich dabei weniger an den Speicherplatz, sondern eher an RAM oder CPU gedacht hätte. Nun ja. Mastodon scheint aber einen enormen Bedarf an temporären Dateien zu haben, diese werden aber leider nicht regelmäßig automatisch gelöscht.

In der Dokumentation finden sich dazu leider nur ein paar Hinweise, wie man einen regelmäßigen Cleanup einrichten kann. Aber wieder half Google und so habe ich mir ein kleines Script geschrieben, dass alle paar Stunden per Cron verschiedene Jobs erledigt und so den Festplattenplatz auf einem Level hält.

#!/bin/bash
set -e
cd /home/mastodon/live
PATH=/home/mastodon/bin:/home/mastodon/.local/bin:/home/mastodon/.rbenv/plugins/ruby-build/bin:/home/mastodon/.rbenv/shims:/home/mastodon/.rbenv/bin:/usr/bin:/bin
RAILS_ENV=production /home/mastodon/live/bin/tootctl media remove --days 3
RAILS_ENV=production /home/mastodon/live/bin/tootctl media remove-orphans
RAILS_ENV=production /home/mastodon/live/bin/tootctl preview_cards remove --days 3
RAILS_ENV=production /home/mastodon/live/bin/tootctl statuses remove --days 3
RAILS_ENV=production /home/mastodon/live/bin/tootctl accounts cull

Mit dem Parameter --days kann festlegen, wie viele Tage die temporären Daten gespeichert werden sollen. Ich hatte diese zunächst auf einen Tag eingestellt, aber inzwischen habe ich ein Upgrade des VPS gemacht, sodass mir 100GB zur Verfügung stehen. Daher habe ich nun auf drei Tage erhöht. Die Daten, die dabei gelöscht werden, sind im übrigen nicht dauerhaft gelöscht, sondern werden bei Bedarf neu geladen.

Erweiterung der Zeichenbegrenzung

Das Schöne an der eigenen Instanz ist ja auch, dass man Einstellungen oder Modifikationen vornehmen kann, die auf öffentlichen Servern nicht möglich sind. Ich habe bei mir also kurzerhand erstmal die Zeichenbegrenzung erhöht. Der Standardwert ist bei Mastodon auf 500 Zeichen festgelegt, ich habe diesen nun auf 1000 Zeichen erhöht. Dazu müssen nur ein paar Dateien geändert werden und im Anschluss die Mastodon-Dienste neu gestartet werden. Auf der Konsole muss man dazu als User mastodon angemeldet sein.

In den beiden Dateien
~/live/app/javascript/mastodon/features/compose/components/compose_form.js
und
~/live/app/validators/status_length_validator.rb
müssen alle Vorkommen der Zahl 500 durch 1000 (oder einen anderen gewünschten Wert) ersetzt werden.

In der Datei
~/live/app/serializers/rest/instance_serializer.rb
sucht man die Zeile, in der :languages, :registrations, steht und ergänzt dahinter :max_toot_chars,
Also

:languages, :registrations, :max_toot_chars,

In der gleichen Datei sucht man die Zeile die mit private beginnt. Dahinter müssen folgende Zeilen eingefügt werden (1000 oder eben einen anderen gewünschten Wert):

def max_toot_chars
1000
end

Danach müssen die Mastodon-Dienste (als root-User) neu gestartet werden:

service mastodon-* restart

Wenn man jetzt im Browser Mastodon neu lädt, sollte man Posts/Tröts mit 1000 Zeichen schreiben können.

WebFinger-Alias für die eigene E-Mail-Adresse

WebFinger ist ein standardisiertes Protokoll, mit dem geprüft werden kann, ob ein User auf einer Website existiert. Mastodon nutzt dieses Protokoll, damit man User über verschiedene Instanzen hinweg finden kann. Der sogenannte WebFinger-Endpunkt ist immer /.well-known/webfinger, eine Abfrage kann dann dort über die acct: URI vorgenommen werden.

Die Informationen über meinen Mastodon-Account findet man also z.B. so:
https://mielke.social/.well-known/webfinger?resource=acct:thomas@mielke.social

Wenn man jetzt auch über die eigene E-Mail-Adresse (eigene Domain und Website vorausgesetzt) bei Mastodon gefunden werden will, dann kann man eine Datei auf dem eigenen Webserver ablegen, die folgenden Inhalt hat (Beispiel mit meiner E-Mail-Adresse und meinem Mastodon-Account) und unter dem oben genannten Endpunkt ereichbar ist:

{
"subject": "acct:thomas@mielke.de",
"aliases": [
"https://mielke.social/@thomas",
"https://mielke.social/users/thomas"
],
"links": [
{
"rel": "http://webfinger.net/rel/profile-page",
"href": "https://mielke.social/@thomas"
},
{
"rel": "self",
"type": "application/activity+json",
"href": "https://mielke.social/users/thomas"
},
{
"rel": "http://ostatus.org/schema/1.0/subscribe",
"template": "https://mielke.social/authorize_interaction?uri={uri}"
}
]
}

Ob das funktioniert, kann dann sehr einfach bei WebFinger.net prüfen, oder man sucht einfach auf der Mastodon-Instanz nach der E-Mail-Adresse. Ein WebFinger-Alias funktioniert natürlich auch, wenn man keine eigene Mastodon-Instanz hat. Für WordPress gibt es übrigens auch ein Plugin, das habe ich allerdings nicht getestet.

Fazit

Braucht man nun eine eigene Mastodon-Instanz? Die Frage muss sich jeder selber beantworten. Natürlich ist das Ganze mit etwas Aufwand verbunden, aber die Installation ist gar nicht so kompliziert. Der große Vorteil ist eben, dass man mit einer eigenen Mastodon-Instanz wirklich unabhängig ist. Prinzipiell sehe ich schon ein großes Potenzial in Mastodon. Durch das Chaos bei Twitter haben in den letzten Wochen sind ja auch viele User zu Mastodon gewechselt oder nutzen nun beides parallel.

Ein großes Potenzial für Mastodon sehe ich eigentlich auch bei Medienhäusern, die mit einer eigenen Instanz Accounts für einzelne Resorts oder Redakteure einrichten könnten und sich so z.B. vor Fake-Accounts schützen könnten und nicht auf die Verified-Häkchen-Willkür anderer Plattformen angewiesen wären.

Ein gutes Beispiel mit Vorbildfunktion ist aber der Mastodon-Server des Bundesbeauftragten für den Datenschutz und die Informationsfreiheit (BfDI). Der BfDI nutzt diesen Server nicht nur selber, sondern bietet auch anderen Bundesbehörden die Nutzung an.

Update (13.02.2023):

Server-Upgrade von 4.0.2 auf 4.1.0

Ich hatte den Mastodon-Server in der Version 4.0.2 installiert und nun gab es das erste Upgrade auf die Version 4.1.0. Leider ist die offizielle Doumentation hierzu nicht vollständig und wird dazu führen, dass der Server nicht mehr startet. Auf GitHub werden aber noch ein paar weitere Schritte genannt, insbesondere um aktuelle Abhängigkeiten von Ruby und Yarn zu installieren sowie zwei Befehle zur Migration. Wenn man diese ausführt, dann sollte der Mastodon-Server im Anschluss in der neuen Version laufen.

Als Erstes sollte man natürlich ein Backup der Konfiguration und der Datenbank durchführen. Ich hatte mir dazu bereits ein kleine Script geschrieben, was die notwendigen Schritte ausführt.

Im Anschluss kann man das Upgrade durchführen. Zunächst muss man auf den mastodon-User wechseln:

sudo su - mastodon

Dann kann man folgende Befehle ausführen:

git fetch --tags
git checkout v4.1.0

Falls Ihr – so wie ich – die Zeichenbegrenzung geändert habt, oder eventuell auch andere Änderungen, dann wird Euch vermutlich ein Fehler angezeigt. Mit dem Parameter -f kann man das Upgrade dann aber erzwingen:

git checkout -f v4.1.0

Die Änderungen werden dann überschrieben und müssen im Anschluss des Upgrades natürlich erneut vorgenommen werden.

Dann müssen wie gesagt noch ein paar weitere Schritte zur erfolgreichen Migration vorgenommen werden:

bundle install
yarn install
RAILS_ENV=production bundle exec rails db:migrate
RAILS_ENV=production bundle exec rails assets:precompile

Wenn das alles ohne Fehler durchgelaufen ist, sollte man den Mastodon-Server neu starten können. Dazu muss man zunächst mit exit zurück zum Hauptuser und kann dann die Serverdienste neu starten:

sudo service mastodon-* restart

Danach sollte der Server in der neuen Version online sein.

Besserer Cleanup

Mit Upgrade auf v4.1.0 gibt es weitere Optionen zum Aufräumen des Servers, sodass sich der Speicherbedarf besser in Schach halten lässt. Ich habe in meinem Cleanup-Script nun noch folgende Zeilen ergänzt:

RAILS_ENV=production /home/mastodon/live/bin/tootctl accounts prune
RAILS_ENV=production /home/mastodon/live/bin/tootctl media remove --remove-headers --include-follows --days 3

Eventuell sollte man die beiden Befehle aber erst einmal manuell ausführen, da diese beim ersten Lauf doch recht lange herumorgeln. Ich konnte damit meinem Speicherbedarf aber deutlich senken. Zuletzt lag die Auslastung auf meinem VPS immer bei 50-60%. Nun liege ich bei knapp 35%, das hat sich also gelohnt.

Offenlegung: Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Durch den Kauf eines Produktes über einen Amazon Affiliate-Link erhalte ich eine Umsatzbeteiligung oder einen fixen Betrag gut geschrieben. Für Dich fallen keine zusätzlichen Kosten an.

Bisher 19 Kommentare
  1. Michael Fehr

    Michael Fehr

    www.fehrnetzt.de

    5. Januar 2023, 14:26 Uhr

    Danke für den ausführlichen Artikel, Thomas!

  2. Torsten

    Torsten

    30. Januar 2023, 22:43 Uhr

    Danke für die Anleitung!
    Kannst du bitte eine Liste deiner verwendeten Relays posten?
    Die Informationen dazu im Netz und die auffindbaren Listen sind wirklich sehr dürftig. Dankeschön!

  3. Thomas Mielke

    Thomas Mielke

    www.mielke.de

    31. Januar 2023, 08:48 Uhr

    @Torsten: In der Tat ist sind Infos zu den Relays recht dürftig. Anfangs hatte ich ca. 10 Relays eingetragen, frei nach dem Motto „Viel bringt Viel“, hatte aber dann auch bemerkt, dass dadurch die Serverlast deutlich nach oben ging. Inzwischen habe ich nur noch zwei Relays im Einsatz:

    Ich hatte mir von diversen Relays die Infos angesehen (also einfach die Domain ohne den /inbox-Pfad aufgerufen). Dort gibt es meist eine kurze Beschreibung und auch eine Liste aller dort registrierten Mastodon-Instanzen. Danach habe ich dann entschieden.

  4. Torsten

    Torsten

    1. Februar 2023, 07:02 Uhr

    Dankeschön!
    Der Tipp mit /inbox weglassen hilft sehr bei der Auswahl. 😀

  5. Andreas

    Andreas

    4. März 2023, 08:50 Uhr

    Thomas, besten Dank für die detaillierte Anleitung für das Update auf 4.1.0
    Diesen haben wir mit Erfolg bewerkstelligen können.
    Eine Sache ist uns aufgefallen... die Meldung im Bereich Adminstration/Übersicht: "Es gibt ausstehende Datenbankmigrationen. Bitte führe sie aus, um sicherzustellen, dass sich die Anwendung wie erwartet verhält"
    Kannst du dies erklären? Der Befehl "RAILS_ENV=production bundle exec rails db:migrate" wurde ja ausgeführt.

  6. Thomas Mielke

    Thomas Mielke

    www.mielke.de

    4. März 2023, 13:28 Uhr

    @Andreas: Hm die Meldung hatte ich nicht. Ich weiß ja nicht wie groß Eure Instanz ist, aber vielleicht läuft das noch im Hintergrund und dauert noch etwas.

  7. Sebastian

    Sebastian

    22. Mai 2023, 17:22 Uhr

    Bei "Notwendige System-Pakete" fehlen die notwendigen Backslashes am Ende der Zeilen.

  8. Thomas Mielke

    Thomas Mielke

    www.mielke.de

    22. Mai 2023, 17:31 Uhr

    @Sebastian: Danke für den Hinweis. Da haben sich in der Tat Zeilenumbrüche eingeschlichen, die da nicht hingehören...

  9. Cybertalker

    Cybertalker

    cybertalk.io/de

    26. August 2023, 23:27 Uhr

    Schöner Artikel, ich denke ich werde bald mal meine eigene Instanz aufsetzen. Ich hoffe es wird der S3 Kompatible Storage von Contabo unterstützt. (Keine 1 zu 1 Umsetzung)

    Grüße

  10. Erik

    16. Januar 2024, 20:25 Uhr

    Hallo,

    habe es geschafft eine Instanz zu eröffnen. Guter Artikel. Wo trägt man diese Relays ein? Als eingeloggter Admin oder in einer Datei?
    Ich erhalte bei meinem link unter https://gnurfl.de/admin/instances?limited=1 nur die Errorpage

  11. Thomas Mielke

    Thomas Mielke

    www.mielke.de

    16. Januar 2024, 21:32 Uhr

    @Erik: Du musst natürlich mit einem Profil eingeloggt sein, das Admin- bzw. Owner-Rechte hat. Dann kannst Du
    https://gnurfl.de/admin/relays aufrufen und dort die Relays eingetragen.

  12. Erik

    17. Januar 2024, 18:02 Uhr

    @Thomas: Super. Danke. Hatte es dann doch noch gefunden. Ich kann nun Trends sehen und Posts von anderen Servern. Die Suchfunktion funktioniert noch nicht bzw manche direktaufrufe (Profile von Servern) funktionieren auch noch nicht. Aber ich bleibe am Ball :)

  13. Memo

    Memo

    30. Januar 2024, 07:24 Uhr

    Ergänzung:
    Bei der Zeichenbegrenzung darf das ":max_toot_chars" nur ohne ein Komma am Ende hinzugefügt werden.
    Also

    :languages, :registrations, :max_toot_chars

    Damit auch alle Änderungen übernommen werden

    RAILS_ENV=production bundle exec rails assets:precompile

    aufrufen.

  14. CyberTalker

    CyberTalker

    cybertalk.io

    13. Juni 2024, 14:45 Uhr

    Leider kommt bei:

    bundle install -j$(getconf _NPROCESSORS_ONLN)

    Could not locate Gemfile

    Scheint bei mehreren vorzukommen. Hat da jeman eine Lösung für?

  15. Hauke

    Hauke

    12. Juli 2024, 15:40 Uhr

    Fände ein kurzes Fazit/Update jetzt nach knapp 1,5 Jahren und inzwischen Version 4.2.10 eine feine Sache. :-) Thx.

  16. Thomas Mielke

    Thomas Mielke

    www.mielke.de

    12. Juli 2024, 15:59 Uhr

    @Hauke: Was soll ich da groß schreiben. Das Ding läuft einfach und ist extrem wartungsarm. Seit Version 4.1.x gibt's ja auch keine Probleme mehr mit dem Speicherbedarf (siehe oben).

    Auch die letzten Updates liefen super smooth durch.

  17. Memo

    Memo

    26. September 2024, 16:04 Uhr

    Zurzeit ist es zwar noch nicht wirklich erforderlich, aber da sich im Code ab Version 4.3.0 so einiges geändert hat, wird die aktuelle Anleitung so wohl nicht mehr funktionieren?

    Eine angepasste Anleitung wäre super – falls überhaupt noch machbar 😀

  18. Memo

    Memo

    26. September 2024, 16:07 Uhr

    Nachtrag zu meinem vorherigen Kommentar:

    Ich habe mich bei meiner Frage auf das Zeichenlimit bezogen.

  19. Memo

    Memo

    2. Oktober 2024, 11:48 Uhr

    Diese Anleitung für die Erweiterung der Zeichenbegrenzung ab Version 4.3.0 sieht recht vielversprechende aus:

    🔗 https://mszpro.com/blog/mastodon-character-count/

Dein Kommentar?

Bitte gib zumindest Deinen Namen, Deine E-Mail-Adresse sowie einen Kommentar an

Bitte gib eine gültige E-eMail-Adresse an

Bitte bestätige die Datenschutzerklärung

Vielen Dank für Deinen Kommentar

Nutzungshinweise:

Dein Kommentar erscheint nicht automatisch, sondern wird erst nach einer Prüfung manuell freigeschaltet. Ich behalte mir vor alle Kommentare zu löschen, die

  • rassistische, sexistische oder gewaltverherrlichende Inhalte haben,
  • zu kriminellen Aktionen aufrufen oder diese verteidigen,
  • beleidigende Inhalte besitzen,
  • Werbung für Dritte darstellen oder deren Inhalte einem Link auf fremde Angebote gleichkommt.
Gravatar:

Wenn Du möchtest, dass Dein Bild neben Deinem Kommentar erscheint, dann melde Dich einfach bei Gravatar an.