Matrix Synapse Server selbst hosten

Fr. 5. März, Lioh Möller

Einen eigenen Matrix Synapse Server zu betreiben, scheint auf den ersten Blick für viele ein schwieriges Unterfangen zu sein. Die Firma Element macht sich dies zunutze und bietet neuerdings unter dem Namen Element Matrix Services (EMS) on-demand Server Instanzen für USD 10/Monat für 5 Benutzer an.

Wir möchten in diesem Tutorial erklären, dass es auch einfacher geht. Voraussetzung ist ein Computer, den man dauerhaft betreibt und die Virtualisierungslösung VirtualBox.

Als Basis dient das Debian-nahe Projekt FreedomBox, mit welchem sich eine Synapse Instanz mit wenig Aufwand aufsetzen lässt.

Dazu lädt man zunächst von der Homepage das vorbereitete Image herunter. Man hat die Qual der Wahl zwischen der stabilen aber älteren Variante und der Testing Version, bei der man auch ab und an einmal manuell Hand anlegen muss. Wir entscheiden uns für die Testing Variante um von den Neuerungen direkt profitieren zu können.

Nach dem Herunterladen entpackt man das Image im Dateimanager und benennt die entpackte Datei um nach FreedomBox.vdi.

In VirtualBox erzeugt mal daraufhin eine neue VM mit dem Namen FreedomBox:

1 - 2 GB RAM sollten ausreichen:

Wichtig ist das man an dieser Stelle keine Festplatte hinzufügt, denn wir haben das Diskimage ja bereits heruntergeladen:

Damit im späteren Verlauf Portforwarding und der SSH-Zugriff richtig funktionieren, muss der Netzwerkadaptertyp auf Netzwerkbrücke umgestellt werden.

Das zuvor heruntergeladene und umbenannte Image kopiert man daraufhin in den Ordner der VirtualBox VM (Standard: ~/VirtualBox VMs/FreedomBox/FreedomBox.vdi) und fügt die Disk im Bereich Massenspeicher über das + Symbol mit der Harddisk (nicht das runde Symbol) zum SATA-Controller hinzu:

Nun kann die VM gestartet werden. Die FreedomBox ist per default über den MDNS-Namen freedombox.local erreichbar und das Administrationsfrontend kann über diese url in einem Browser geöffnet werden.

Zunächst wird man von einem Setup Assistent begrüsst, der den neuen FreedomBox-Nutzer zur Eingabe eines Benutzernamens und Passwortes auffordert. Es werden auch Benutzernamen mit Grossbuchstaben unterstützt, wichtig zu beachten ist dabei allerdings, dass man sich dann auch später via SSH mit dieser Schreibweise anmelden muss.

Die FreedomBox kennt verschiedene Betriebsarten. In unserem Fall befindet sie sich hinter einem Router:

Zur Konfiguration müssen noch entsprechende Portweiterleitungen eingerichtet werden. Der im folgenden Screenshot ausgewählte Punkt besagt, dass wir dies zu einem späteren Zeitpunkt selbst tun werden:

In der Regel verfügen die meisten von uns nicht über eine statische IP-Adresse. Daher müssen wir später einen DynDNS-Dienst einrichten.

Damit ist die eigentliche Installation bereits abgeschlossen. Wenn man möchte, dass die VM automatisch beim Systemstart gestartet werden soll, kann man das Tutorial von Patrick Gaskin befolgen. Es ist zu empfehlen auch die Option zum Shutdown via acpi beim Herunterfahren des Host-PCs zu aktivieren, so wie sie am Ende der verlinkten Anleitung beschrieben wird.

Im nächsten Schritt kann die Portweiterleitung im Router konfiguriert werden. Empfohlen ist die TCP-Ports 80, 443 und 8448 für Synapse weiterzuleiten. Auf einer FRITZ!Box erfolgt dies über den Punkt Internet / Freigaben / Portfreigaben.

Dort lässt sich auch DynDNS einrichten oder alternativ direkt auf der FreedomBox im Bereich System / Dynamischer DNS-Client. Der von FreedomBox empfohlene Dienst GnuDIP erweist sich aber als nicht besonders bedienerfreundlich.

Nachdem dies erfolgt ist, und man erfolgreich eine Verbindung auf die eigenen FreedomBox über den DynDNS Hostnamen aufbauen konnte, kann man über den Punkt System / Let's Encrypt ein SSL-Zertifikat lösen.

Damit ist die Basisinstallation bereits abgeschlossen und man kann im Bereich Apps die gewünschten Applikationen installieren (in diesem Falle Matrix Synapse).

Während der Aktivierung der Applikation muss eine Domain ausgewählt werden. Diese kann zu einem späteren Zeitpunkt nicht mehr ohne weiteres geändert werden. Dort lässt sich der zuvor angelegte DynDNS Name auswählen. Ausserdem lässt sich einstellen, ob öffentliche Registrierungen möglich sein sollen oder nicht. Falls nicht, ist es nur Benutzern der FreedomBox gestattet den Homeserver zu nutzen.

Der Zugriff auf den Synapse Server kann über einen Matrix-Client wie Element oder SchildiChat erfolgen. Als Homeserver gibt man dort seinen DynDNS Domainnamen ein. Der Benutzername muss dort in der Form @meinuser:meine.dyndns.domain angegeben werden. Dieser wird hierbei kleingeschrieben. Das Passwort entspricht dem FreedomBox Login Passwort.

Die FreedomBox bietet neben Synapse viele andere interessante Anwendungen an. Das vorkonfigurierte Diskimage ist allerdings etwas klein geraten. Möchte man es vergrössern, kann man dazu bei heruntergefahrener VM als regulärer Benutzer im Ordner, in dem sich das Diskimage befindet, folgenden Befehl ausführen:

VBoxManage modifyhd FreedomBox.vdi --resize 81920

Als Standarddateisystem kommt bei der Freedombox btrfs zum Einsatz. Um die / Partition zu vergrössen gibt man in der FreedomBox folgenden Befehl ein:

btrfs filesystem resize max /

Viel Spass beim Entdecken der neuen Freiheiten!

Pauli
Geschrieben von Pauli am 16. März 2021

Vielen Dank für diesen Beitrag. Dadurch kann man eine Menge Zeit sparen. Weiter so!!!