Einrichtung eines eigenen Matrix-Servers auf einem Raspberry Pi und dem Betriebssystem Umbrel OS
Einrichtung eines Matrix-Servers auf einem Raspberry Pi mit Umbrel OS und Portfreigabe in der Fritzbox
ACHTUNG - DIESE ANLEITUNG IST EXPERIMENTELL
Diese Anleitung beschreibt, wie du einen Matrix-Server (Synapse) auf einem Raspberry Pi unter Umbrel OS einrichtest und die Portfreigabe in einer Fritzbox konfigurierst, um den Server von außerhalb deines Netzwerks zugänglich zu machen.
Die Anleitung ist noch nicht vollständig. Der Ersteller übernimmt keinerlei Haftung für diese Anleitung. Verbesserungsvorschläge sind herzlich willkommen.
Voraussetzungen
- Raspberry Pi (mindestens Raspberry Pi 4 mit 4 GB RAM empfohlen)
- Umbrel OS auf einer SD-Karte oder SSD installiert
- Fritzbox-Router mit administrativem Zugriff
- Statische lokale IP-Adresse für den Raspberry Pi
- Domain oder Subdomain für den Matrix-Server (z. B. via MyFritz oder einem DynDNS-Dienst)
- Grundkenntnisse in Linux und Netzwerkkonfiguration
Schritt 1: Umbrel OS auf dem Raspberry Pi installieren
- Lade die neueste Version von Umbrel OS von der offiziellen Website herunter: umbrel.com.
- Verwende den Raspberry Pi Imager, um Umbrel OS auf eine SD-Karte oder SSD zu flashen.
- Verbinde den Raspberry Pi mit deinem Netzwerk, schließe ihn an die Stromversorgung an und starte ihn.
- Öffne einen Browser und rufe die Umbrel-Benutzeroberfläche auf, indem du die lokale IP-Adresse des Raspberry Pi eingibst (z. B.
http://192.168.1.x). Du findest die IP-Adresse in der Fritzbox-Oberfläche unter "Heimnetz > Netzwerk".
Schritt 2: Matrix-Server (Synapse) auf Umbrel installieren
- Melde dich in der Umbrel-Weboberfläche an.
- Navigiere zum Umbrel App Store und suche nach "Synapse" (Matrix-Server).
- Klicke auf "Installieren" und folge den Anweisungen, um die Installation abzuschließen.
- Nach der Installation wird Synapse automatisch konfiguriert. Notiere dir den Standardport (8448 für HTTPS) und die Zugangsdaten, die in der Umbrel-Oberfläche angezeigt werden.
- Erstelle einen Admin-Benutzer für den Matrix-Server:
# Öffne ein Terminal auf dem Raspberry Pi (über SSH oder direkt in Umbrel). # Führe den Befehl aus:
register_new_matrix_user -c /path/to/homeserver.yaml http://localhost:8008
# Folge den Anweisungen, um einen Benutzer zu erstellen.
Schritt 3: Statische IP-Adresse für den Raspberry Pi einrichten
Um sicherzustellen, dass die Portfreigabe korrekt funktioniert, benötigt der Raspberry Pi eine feste IP-Adresse:
- Öffne die Fritzbox-Weboberfläche (z. B.
http://fritz.box). - Gehe zu "Heimnetz > Netzwerk > Netzwerkeinstellungen".
- Suche den Raspberry Pi in der Liste der verbundenen Geräte.
- Aktiviere die Option "Diesem Gerät immer die gleiche IPv4-Adresse zuweisen" und speichere die Änderungen.[](https://administrator.de/tutorial/netzwerk-management-server-mit-raspberry-pi-191718.html)
Schritt 4: Portfreigabe in der Fritzbox konfigurieren
Um den Matrix-Server von außerhalb des Netzwerks zu erreichen, musst du die Ports 8448 (für Matrix-Föderation) und optional 443 (für Clients) freigeben:
- Öffne die Fritzbox-Weboberfläche (
http://fritz.box). - Navigiere zu "Internet > Freigaben > Portfreigaben".
- Klicke auf "Neue Portfreigabe".
- Stelle die folgenden Parameter ein:
* Gerät: Wähle den Raspberry Pi mit der zuvor festgelegten statischen IP-Adresse. * Anwendung: Wähle "Andere Anwendung". * Protokoll: TCP. * Port an Gerät: 8448. * Externer Port: 8448. * Optional für Clients: Wiederhole den Vorgang für Port 443, falls du diesen für Clients verwenden möchtest.[](https://ittweak.de/fritzbox-7490-dyndns-fuer-webserver-raspberry-pi-einrichten/)
- Falls der MyFritz-Dienst Port 443 verwendet, ändere den MyFritz-Port unter "Internet > Freigaben > Fritzbox-Dienste" auf einen anderen Port (z. B. 4443).[](https://raspberry.tips/raspberrypi-einsteiger/raspberry-pi-einsteiger-guide-port-forwarding-teil-6)
- Speichere die Einstellungen.
Schritt 5: DynDNS oder MyFritz für die externe Erreichbarkeit einrichten
Da die meisten Heimanschlüsse dynamische IP-Adressen haben, benötigst du einen DynDNS-Dienst oder MyF420Fritz:
- **MyFritz einrichten**:
* Gehe in der Fritzbox-Oberfläche zu "Internet > MyFritz".
* Aktiviere MyFritz und erstelle ein Konto mit deiner E-Mail-Adresse.
* Notiere dir die MyFritz-Adresse (z. B. deinname.myfritz.net).
* Stelle sicher, dass die Option "Internetzugriff auf die Fritzbox über HTTPS aktiviert" gesetzt ist.[](https://ulibauer.de/blog/?p=582)
- **Alternativ: DynDNS einrichten**:
* Registriere dich bei einem DynDNS-Anbieter wiedynv6.comoderno-ip.com. * Konfiguriere den DynDNS-Dienst in der Fritzbox unter "Internet > Freigaben > DynDNS". * Installiere optional denddclientauf dem Raspberry Pi, um IP-Änderungen automatisch zu aktualisieren.[](https://buyzero.de/blogs/news/zugriff-auf-den-eigenen-raspberry-pi-aus-dem-internet)
Schritt 6: Matrix-Server für externe Nutzung konfigurieren
- Öffne die Synapse-Konfigurationsdatei (
homeserver.yaml), die sich normalerweise unter/var/lib/synapsebefindet. - Passe die folgenden Parameter an:
public_baseurl: https://deinname.myfritz.net:8448 server_name: deinname.myfritz.net
- Starte den Synapse-Server neu:
sudo systemctl restart synapse
- Teste die Erreichbarkeit, indem du die URL
https://deinname.myfritz.net:8448in einem Browser aufrufst (es sollte eine Matrix-Server-Seite erscheinen).
Schritt 7: SSL/TLS für sichere Verbindungen einrichten
Für eine sichere Verbindung solltest du ein SSL/TLS-Zertifikat verwenden:
- Verwende einen Dienst wie Let's Encrypt, um ein kostenloses Zertifikat zu erhalten.
- Installiere
certbotauf dem Raspberry Pi:
sudo apt-get install certbot
- Führe den Befehl aus, um ein Zertifikat für deine Domain zu erstellen:
sudo certbot certonly --standalone -d deinname.myfritz.net
- Konfiguriere Synapse, um die Zertifikate zu verwenden, indem du die Pfade in
homeserver.yamlanpasst:
tls_certificate_path: "/path/to/fullchain.pem" tls_private_key_path: "/path/to/privkey.pem"
- Starte den Server erneut.
Schritt 8: Testen und Fehlerbehebung
- Öffne einen Matrix-Client (z. B. Element) und verbinde dich mit deinem Server (
https://deinname.myfritz.net). - Wenn der Server nicht erreichbar ist, überprüfe:
* Die Portfreigaben in der Fritzbox.
* Die Firewall-Einstellungen auf dem Raspberry Pi (Umbrel OS hat standardmäßig eine offene Firewall für Synapse).
* Die DynDNS/MyFritz-Konfiguration.
* Die Synapse-Logs unter /var/log/synapse.
Hinweise
- **Sicherheit**: Gib nur die notwendigen Ports frei (8448 für Föderation, 443 für Clients). Verwende starke Passwörter und aktiviere Zwei-Faktor-Authentifizierung in deinem Matrix-Client.
- **Performance**: Ein Raspberry Pi ist für kleine bis mittelgroße Matrix-Instanzen geeignet. Für größere Instanzen mit vielen Nutzern solltest du eine leistungsstärkere Hardware in Betracht ziehen.
- **IPv6**: Falls dein Internetanbieter einen DS-Lite-Anschluss verwendet, ist die Portfreigabe komplexer. Verwende in diesem Fall MyFritz oder einen VPN-Dienst, um den Server zu erreichen.[](https://buyzero.de/blogs/news/zugriff-auf-den-eigenen-raspberry-pi-aus-dem-internet)