GoToSocial – A fast, fun, ActivityPub server

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

Wie läuft das?
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.