This is an old revision of the document!
−Table of Contents
Matrix
- technische Daten, etc.
1 Überblick
- 1.1 Was ist Matrix?
- 1.2 warum
- 1.3 Abgrenzung zu anderen Diensten
2 Struktur
- wo server
- wo client
- wie login
- wer login
3 TODO liste
* Systemd Services für alle Dienste erstellen. * Bei Zertifikaterneuerung einrichten, dass der reverse proxy neugestartet wird damit er das neue Zertifikat nutzt. Das geht dann wahrscheinlich mit einer ExecStartPost=/usr/bin/systemctl try-restart reverse-proxy.service oder ähnlichen Anweisung im systemd service von certbot.
4 Technik
4.2 Reverse-Proxy
Als Reverse Proxy wird NGINX in einem Docker-Container genutzt. Unter dem Pfad /opt/reverse-proxy
Die TLS-Zertifikate werden als Volume über einen relativen Pfad zu Certbot eingebunden.
So wird der Traffic weitergeleitet:
- Traffic auf port 80 (http):
- Unter dem Pfad /.well-known/acme-challenge/ wird der Inhalt des Challenge Verzeichnis (siehe Certbot) ausgeliefert
- Alles andere unter port 80 kriegt eine 301 Weiterleitung auf https
- Auf Port 443 und 8448 (https):
- Alles unter /_matrix oder /_synapse/client wird an den synapse-Container weitergeleitet
- /.well-known/matrix/server liefert eine JSON Datei die andere Matrix Server anweist auf Port 443 anzufragen (wird das noch benötigt?)
- alles andere wird an den element-web Container weitergeleitet
4.3 Certbot
Certbot ist in einem docker-container im Pfad /opt/certbot Die TLS-Zertifikate liegen in einem Unterordner, genauso wie Challenge Dateien
4.4 Element Web
Ein Container der die static files für den element-web client bereitstellt
Im Unterordner /opt/element-web
bisheriger Artikel
Matrix ist ein dezentrales Chatsystem. Als Alternativen wurden RocketChat und Mattermost diskutiert. Es wurde sich aufgrund der unten stehenden Argumente für Matrix entschieden
Ziel ist es ein Chatsystem zu haben, welches an SSO angeknüpft ist und einen Gruppensync mitliefert. So sollen Personen/Accounts automagisch Chatgruppen hinzugefügt werden. Das erstellen von neuen Gruppen soll dabei nicht ausgeschlossen werden. Als weitere wichtige Funktion gelten Threads
RocketChat
Ist voraussichtlich günstiger als Mattermost bzw. hat verschiedene Features, welche bei Mattermost hinter einer Paywall sind. Zusätzlich ist es recht einfach aufzusetzen. Es wurden aber bei Lukas und Michelle schlechte Erfahrungen gemacht, da die Performance auf den Endgeräten sehr heterogen ist und ein hoher Supportaufwand bestehen kann. SSO ist bereits in der kostenlosen Variante mit drin. Zu zahlen sind für die Push Notifications und der Gruppensync. Der genaue Preis ist unbekannt, da erst kürzlich das Modell umgestellt wurde.
Mattermost
Ist teurer als RocketChat, ist aber was den Umfang insbesondere von Automagisierungen deutlich umfangreicher. Michelle versucht seit April eine Lizenz für die Jusos Thüringen zu erhalten und hat bis heute keine Antwort. Die Kosten wären ca. 250 USD für 3 Jahre self.hosted Lizenz bis 1.000 Nutzer:innen. Das inkludiert nur das “Professional” Paket und somit keinen Gruppensync.
Matrix
Großer Vorteil, dass es vollständig kostenlos ist, bisher aber keine Threads hatte. Das scheint inzwischen gefixt. Bzgl. der Automagisierungen könnte man einiges durch Bots lösen.