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.
- Mich findet Ihr also ab jetzt so: @thomas@mielke.social
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.
Michael Fehr
www.fehrnetzt.de
5. Januar 2023, 14:26 Uhr
Danke für den ausführlichen Artikel, Thomas!
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!
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.
Torsten
1. Februar 2023, 07:02 Uhr
Dankeschön!
Der Tipp mit /inbox weglassen hilft sehr bei der Auswahl. 😀
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.
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.
Sebastian
22. Mai 2023, 17:22 Uhr
Bei "Notwendige System-Pakete" fehlen die notwendigen Backslashes am Ende der Zeilen.
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...
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
Erik
gnurfl.de
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
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.
Erik
gnurfl.de
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 :)
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.
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?
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.
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.
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 😀
Memo
26. September 2024, 16:07 Uhr
Nachtrag zu meinem vorherigen Kommentar:
Ich habe mich bei meiner Frage auf das Zeichenlimit bezogen.
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/
Memo
8. Oktober 2024, 21:55 Uhr
Die Anleitung funktioniert so wie sie ist leider nicht.
Obwohl die Beiträge scheinbar in das Fediverse weitergeleitet werden, werden, nicht nur bei einer Aktualisierung, die Beiträge auf der Startseite zerrissen oder fehlen ganz. Auch einmal gepostete Beiträge werden wohl nur lokal, aber nicht auf anderen Instanzen gelöscht.
Getestet mit dem heutigen Release 4.3.0
Memo
9. Oktober 2024, 00:34 Uhr
Nachtrag:
Ich kann leider nicht nachvollziehen, woran es gelegen hat, aber nach dem x-ten Versuch scheint es jetzt zu laufen ¯_(ツ)_/¯
Thomas Mielke
www.mielke.de
9. Oktober 2024, 09:11 Uhr
@Memo: Ich die 4.3.0 noch nicht installiert. Damit wollte ich noch ein paar Tage warten... Aber schön, dass es jetzt bei Dir doch noch geklappt hat.
Memo
9. Oktober 2024, 16:00 Uhr
Es ist nicht auszuschließen, dass es vielleicht besser gewesene wäre (und auch völlig gereicht hätte), erst einmal abzuwarten bis alle Nachrichten aus der Warteschlange abgearbeitet wurden, anstatt die Zeichenbegrenzung wieder rückgängig zu machen oder das v4.3.0-rc.1 Backup einzuspielen.
Das werde ich aber wohl nie erfahren 😉