Fediverse-Serie: GoToSocial - ein eigener, schneller Zugang ins Fediverse

  Teufel100   Lesezeit: 17 Minuten  🗪 5 Kommentare

GoToSocial ist ein wunderbarer Zugang zum Fediverse für Menschen, die ohne großen Aufwand ihre eigene kleine Instanz betreiben möchten - ein Erfahrungsbericht.

fediverse-serie: gotosocial - ein eigener, schneller zugang ins fediverse

Ich schreibe viel und gern in dieses Internet, suche die Kommunikation, stelle meine Gedanken gern zur Diskussion und hoffe auf viel Input von anderen. Das machte ich lange Zeit auf Twitter und Facebook, was aber mit der Zeit keinen Spaß mehr machte, weswegen ich schon ziemlich früh nach alternativen Netzwerken suchte, wo es diese Polarisierung zwischen zwei Extremen noch nicht gab, und wo es möglich war, auch Zwischentöne zu bestimmten Positionen zu entwickeln, ohne gleich von allen geblockt zu werden. Das fing schon ziemlich früh mit Diaspora an, 2019 landete ich dann auf Mastodon, um dann jetzt am Ende mit GoToSocial meinen eigenen Zugang zum Fediverse zu hosten. Mir war bei der Suche natürlich immer bewusst, dass es nicht die Plattform ist, die diese Polarisierung erzeugt, sondern die Nutzer*Innen der Plattformen. Dennoch halte ich das Fediverse für den geeigneteren Ort, um Diskussionen zu führen, es ist nur wichtig, sich Gedanken dazu zu machen, welcher Zugang zum Fediverse zu einem passt.  
Als @caos mich fragte, ob ich zu GoToSocial einen Artikel schreiben möchte, damit die Menschen, die ins Fediverse strömen, einen kleinen Einblick über die Zugänge haben, war ich schon leicht überfordert, weil ich dachte, dass das eher sehr technisch werden könnte, aber ich dachte mir, dass es vielleicht interessanter ist zu wissen, wie ich zu GoToSocial gekommen bin und warum es vielleicht auch für euch der richtige Zugang zum Fediverse sein kann.  

Warum überhaupt selbst einen Dienst betreiben?  
Am Anfang wollte ich nur einen Ort, der nicht so belastend und deprimierend ist wie Twitter. Sind wir ehrlich, Twitter war schon vor der Übernahme durch Musk kein schöner Ort mehr. Diskussionen waren nicht möglich, weil, wenn du in Zwischentönen denkst, du also keine Extrempositionen einnehmen wolltest, immer irgendwo angeeckt bist und du nur hoffen konntest, dass du mit diesem Anecken nicht in das Blickfeld von einer Person kamst, die eine riesige Followerschaft aufgebaut hat. Dazu war 2019 mastodon.social durchaus ausreichend.
Dann kamen allerdings die Wellen an User*Innen, die von Twitter auf Mastodon wechselten und ein Großteil dieser User*Innen landete auf mastodon.social. Was eigentlich erst einmal nur nervig war, weil ich mastodon.social nicht so nutzen konnte, wie ich wollte, weil der Service immer mal wieder nicht erreichbar war oder nur mit großer Verzögerung lief. Damit konnte ich allerdings umgehen, womit ich nicht umgehen konnte, war der Fakt, dass ich auf einer Instanz, die von jemand anderen betrieben wurde, eben in die Bubble von dieser anderen Person gezwungen werde.

Was meine ich damit?
Das Fediverse ist dezentral, besteht also aus vielen Servern, die von vielen verschiedenen Personen betrieben werden. Da es darunter durchaus auch problematische Server geben kann, gibt es die Möglichkeit, Server zu blocken. Eine wichtige Funktion, um zum Beispiel Spam zu verhindern. Der Nachteil ist natürlich, dass jeder Admin entscheidet, mit welchen Servern er in den Austausch treten möchte und mit welchen nicht. Jede*r Betreiber*in einer Instanz kann also entscheiden, welche Inhalte die Nutzer*Innen der Instanz sehen dürfen und welche nicht. Eigentlich was Positives, was aber eben auch problematisch ist, wenn es am Ende dazu genutzt wird, sich eine eigene Blase aufzubauen, also genau dasselbe passiert, was zentralen Diensten und deren Algorithmen vorgeworfen wird.
Diese Abhängigkeit wollte ich nicht, ich wollte selbst entscheiden, welche Inhalte ich sehen darf und welche ich nicht sehen möchte. Ich will mir - wenn ich denn in einer Blase leben muss - diese selbstbestimmt aufbauen und nicht in einer Blase leben, die ein anderer meint aufbauen zu müssen.
Die Hoffnung, dass das Fediverse ein demokratischer Ort werden könnte, hatte ich zu diesem Zeitpunkt übrigens schon aufgegeben, denn jeder bestand darauf, dass der Admin ein Hausrecht hätte und wem das nicht gefällt, der muss sich halt eine andere Instanz suchen, wo der*die Betreiber*In liberaler ist. Oder aber selbst eine Instanz betreiben, weil dafür das Fediverse ja gedacht ist. Da die Option mit einem liberaleren Admin darauf hinauslaufen würde, dass ich mit wahrscheinlich sehr viele Konten auf sehr vielen verschiedenen Instanzen zulegen müsste, um wirklich all die Inhalte zu sehen, die ich sehen möchte, blieb tatsächlich nur die Option, selbst eine Instanz zu betreiben.

Klein aber fein
Da ich nicht vorhatte, eine riesige Instanz ins Netz zu stellen, auf der sich andere Nutzer*Innen registrieren könnten, suchte ich nach einem Zugang zum Fediverse, der für den Heimgebrauch gedacht ist. Eine Instanz, die ich zu Hause auf einem kleinen Raspberry Pi betreiben kann, bei der die Daten wirklich bei mir sind und für die ich keinen Server mieten muss. Eine Instanz, die auch wirklich simple zu bedienen ist, die ich nicht ewig konfigurieren muss und die wirklich nur das bietet, was ich unbedingt benötige, um im Fediverse aktiv werden zu können.
GoToSocial ist genau dieser Zugang. Die Einrichtung dauert fünf bis zehn Minuten und dann kann die Instanz genutzt werden. Es braucht keine Datenbank angelegt werden, es braucht kein Webserver eingerichtet werden, es braucht wirklich nur das Paket, welches in einen Ordner entpackt wird, eine (Sub)-Domain, über die die Instanz aufgerufen werden kann und ein bisschen Zeit, um die nötigen Konfigurationen zu machen. Gut, ein wenig Grundwissen sollte natürlich vorhanden sein, aber die Einrichtung ist kein Hexenwerk und, wie schon geschrieben, dauert es nicht einmal 10 Minuten, bis die Instanz betriebsbereit ist.

Was ist GoToSocial?
GoToSocial ist ein Server für ein soziales Netzwerk, welches auf dem ActivityPub-Protokoll aufbaut. Die Software ist in Golang geschrieben und möchte einen leichtgewichtigen, anpassbaren und sicherheitsorientierten Zugang zum Fediverse bieten. Dabei sammelt GoToSocial keine Daten der Nutzer*Innen, es sind weder Tracker verbaut, noch kommt ein Algorithmus zum Einsatz, der den Nutzer*Innen irgendwelche Inhalte vorsortiert. Das bedeutet, die Timeline ist chronologisch und nicht nach Interessen oder Vorlieben sortiert.


GoToSocial besteht aus einer Binäry-Datei, einer Config-Datei, einem Sorage-Ordner, wo die Medien der eigenen Instanz und der anderen Instanzen gesammelt werden, einem Web-Ordner, wo die Dateien für das Webfrontend enthalten sind und einem Ordner mit Beispielkonfigurationen. Hier liegt auch die config.yaml, die für die Einrichtung des Servers wichtig ist.

Einrichtung
Da GoToSocial den Webserver schon mitbringt, muss für den Betrieb des Servers kein anderer Webserver (Nginx oder Apache) installiert werden. Dies ist von Vorteil, wenn auf dem Server eh nur GoToSocial laufen soll, da dann der Wartungsaufwand reduziert wird. GoToSocial kann aber auch mit Nginx oder Apache betrieben werden, was sinnvoll ist, wenn neben GoToSocial auch andere Dienste laufen sollen.
Auch die Installation einer Datenbanksoftware ist nicht notwendig, da GoToSocial ebenfalls SQLite integriert hat und damit auch wunderbar läuft. Wer eine andere Datenbanksoftware nutzen möchte, kann Postqres nutzen.
Ebenso integriert ist LetsEncrypt, sodass die Instanz sofort mit einem Zertifikat versorgt ist, sobald der Dienst gestartet wird, die Kommunikation über das Internet läuft also sofort über die sichere HTTPS-Verbindung, ohne dass da noch irgendwo was konfiguriert werden muss.
Im Grunde beschränkt sich der Einrichtungsaufwand darauf, die Parameter in der config-Datei anzupassen, die nötige Portfreigabe im Router und in der Firewall zu aktivieren - zumindest wenn der Server im Heimnetz betrieben wird - und die Domain auf den Server zu verweisen. Zum Beispiel per DynDNS, wenn der Server im eigenen Heimnetz betrieben wird. Dann muss noch ein Nutzer*Innenkonto angelegt werden und schon kann der Spaß losgehen.

Config.yaml
Die config.yaml ist also die Datei, die wir uns genauer ansehen müssen. Hier wird der Hostname der Instanz definiert, der Port, über welchen der Service erreichbar sein soll, der Datenbanktyp, der genutzt werden soll, der Name der Datenbank und der Ort, wo die Datenbank gespeichert werden soll, der Ort, wo der Storage-Ordner liegen soll, ebenso wie der Ort, wo der Web-Ordner liegt, sowie der Ort, wo der die Letsencrypt-Zertifikate abgelegt werden sollen.
Dann gibt es noch die Parameter für die maximale Größe von Mediendateien, die Anzahl der Zeichen, die für einen Beitrag erlaubt sind, ebenso die Anzahl der Zeichen, für die Medienbeschreibung. All diese Parameter können nach eigenem Belieben angepasst werden, sodass GoToSocial genau die Anzahl von Zeichen hat, die ihr braucht, um euch damit wohlzufühlen.
All diese Einstellungen macht ihr in einer Datei. Eine gute und simple Installationsanleitung findet ihr auf der offiziellen Webseite von GoToSocial. Danach startet ihr den Service und schon könnt ihr mit GoToSocial ins Fediverse starten.

Okay, so schnell geht es dann doch nicht, denn bevor der Spaß wirklich losgehen kann, muss noch ein Client gefunden werden, mit dem GoToSocial genutzt wird, denn einen eigenen Webclient bringt die Software nicht mit. Auf dem Smartphone eignet sich hier Tusky wunderbar, für den Desktop gibt es Webanwendungen wie Pinafore, Semaphore oder Phanpy, mit denen Beiträge verfasst werden können und die Timeline gelesen werden kann. Und damit dann in der Timeline auch etwas los ist, muss natürlich anderen Nutzer*Innen gefolgt werden, ansonsten wird es ziemlich einsam, weil GoToSocial nicht einfach mit allen Servern kommuniziert, sondern er kommuniziert mit denen, auf denen ihr anderen Menschen folgt. Eine föderierte Timeline - wie sie zum Beispiel auf mastodon.social zu finden ist - gibt es auf GoToSocial auch, diese ist allerdings ziemlich leer, da hier Beiträge von Menschen landen, denen Nutzer*Innen von eurer Instanz folgen. Bedeutet also, wenn ihr die Instanz alleine nutzt, dann entspricht die föderierte Timeline eurer eigenen Timeline. Die Möglichkeit hier neue Menschen zum Folgen zu entdecken, wie sie zum Beispiel auf mastodon.social gegeben ist, gibt es hier somit nicht.
Das Design der Userpage lässt sich per CSS anpassen.

Wichtig ist auch zu wissen, dass es sich bei GoToSocial derzeit um eine Software handelt, die noch im Alpha-Status ist. Sie kann zwar schon vieles, aber noch lange nicht alles, was andere Instanzen können. So werden derzeit zum Beispiel noch keine Umfragen unterstützt, es gibt noch keine Hashtags, die DM-Funktion ist eingeschränkt und auch die Kommunikation mit anderen Zugängen zum Fediverse funktioniert noch nicht zu hundert Prozent. Es werden auch noch nicht alle Medienformate unterstützt, um jetzt einmal die größeren Dinge aufzuzählen. Dafür sind aber die Entwickler*Innen super motiviert und super fleißig, um all diese Funktionen umzusetzen, sind aber auch stets darauf bedacht, dass dabei die Sicherheit nicht zu kurz kommt und machen sich auch Gedanken darüber, wie diese Software auch dazu beitragen kann, dass sie für Nutzer*Innen einen Safe-Place darstellt. Es soll also nicht nur einfach ein weiterer Zugang zum Fediverse sein, es soll auch gleichzeitig ein Safe-Place für die Nutzer*Innen sein.
 

  • Du kannst Menschen im gesamten Fediverse folgen und dir können Menschen aus dem gesamten Fediverse folgen (Ausnahme sind hier Plattformen, wo es noch zu Kommunikationsfehlern kommt)
  • Du kannst Nutzer*Innen blockieren
  • Du kannst dich über neue Beiträge von bestimmten Nutzer*Innen benachrichtigen lassen
  • Du kannst Beiträge erstellen, auf Beiträge antworten, diese Boosten und Liken
  • Du kannst eigene Beiträge im Profil anpinnen
  • Du kannst Bookmarks setzen
  • Du kannst Bilder und Videos teilen
  • Du kannst Beiträge öffentlich, ungelistet und privat veröffentlichen

Einige Features sind geplant, aber noch nicht umgesetzt.

  • Du kannst derzeit noch keine Umfragen erstellen oder an Umfragen teilnehmen
  • Du kannst derzeit noch keine Hashtags nutzen, um dadurch andere Beiträge zu finden
  • Du kannst derzeit keinen Hashtags folgen
  • Du hast derzeit noch keine eigene Seite für DMs
  • Du kannst Nutzer*Innen derzeit noch nicht Stummschalten


Beide Listen sind mit Sicherheit nicht vollständig, aber bieten einen kurzen Überblick, was du mit GoToSocial bereits kannst und was noch nicht umgesetzt ist.

Fazit
GoToSocial ist ein wunderbarer Zugang zum Fediverse für Menschen, die ihre eigene kleine Instanz möchten, ohne dabei zu viel Zeit in die Wartung und Administration der notwendigen Dienste stecken zu müssen. GoToSocial hat sehr niedrige Systemanforderungen. Es läuft wunderbar im eigenen Heimnetz auf einem alten Rechner, ja sogar auf einem Raspberry 3 und bietet schon jetzt einen stabilen Zugang zum Fediverse.


https://gotosocial.org/
https://docs.gotosocial.org/
https://codeberg.org/superseriousbusiness/gotosocial
https://gts.superseriousbusiness.org/@gotosocial
https://opencollective.com/gotosocial

Zur Fediverse-Artikelserie

Dieser Artikel ist Teil einer Artikelserie zu Fediverse-Diensten: Serie – Fediverse-Dienste: Die Idee
Bisher sind darin erschienen:

Microblogging:

Macroblogging:

Content-Aggregation/ Forum

Spezialisierte Dienste:

Blogging mit Fediverse-Anschluss

Tags

Fediverse, Artikelserie, GoToSocial, Diaspora, Mastodon, RaspberryPi, SelfHosting,

Micha
Geschrieben von Micha am 23. Mai 2023 um 18:01

Aus diesen Gründen hoste ich nun auch meine eigenen Fedidienste via Yunohost. Dass ich selber blocken kann bzw. niemand meine Timeline sehen kann. Und aus Performance Gründen. Sehr guter Artikel, vielen Dank!

Norbert
Geschrieben von Norbert am 24. Mai 2023 um 07:08

Ein paar Hinweise zur Installation wären hilfreich

sandfrog
Geschrieben von sandfrog am 24. Mai 2023 um 09:42

Moinsen eine Anleitung kanst du unter https://docs.gotosocial.org/en/latest/installation_guide/ finden

Sven
Geschrieben von Sven am 24. Mai 2023 um 10:47

Moin. Die Installation ist eigentlich ziemlich simple und im Link, den @sandfrog hinterlassen hat, gut dokumentiert. Aber ich fasse es gerne noch einmal zusammen:

1.) Du brauchst Hardware, die als Server dient und Speicherplatz. Kann ein alter Laptop sein, ein Raspberry oder auch ein gemieteter Server. Meine Installation verwendet derzeit knapp 40 GB an Speicherplatz, aber ein wenig mehr wäre schon sinnvoll einzuplanen. Alternativ kannst du den Storage auch in bestimmte Cloudspeicherdienste auslagern.

2.) Auf dem Gerät erstellst du einen Ordner, in dem gotosocial installiert werden soll, in diesem Ordner erstellst du dann noch den Ordner "storage" und im "storage"-Ordner dann noch den Ordner "certs", wo die Letsencrpyt-Zertifikate liegen. Du kannst diese Ordner auch anders nennen, musst das dann aber in der config.yaml anpassen.

3.) Du lädst die aktuelle Archiv-Datei von GoToSocial runter und entpackst diese in den gotosocial-Ordner.

4.) Du machst die notwendigen Einstellungen in der config.yaml

5.) Du startest den Dienst.

6.) Du erstellst einen Nutzer

7.) Du suchst dir einen Client, mit dem du GoToSocial nutzen willst, logst dich ein und legst los.

Okay, du musst natürlich noch DynDNS einrichten, wenn du den Server im eigenen Netzwerk nutzt, die Ports im Router und in der Firewall auf deinem Gerät freigeben und dann kann es aber schon losgehen.

Wenn du Hilfe brauchst, melde dich doch einfach bei uns. (Sandfrog und/oder teufel100)

Sven
Geschrieben von Sven am 22. September 2023 um 14:40

Ergänzung: Inzwischen sind ach Hashtags und Listen möglich.