Matrix
Matrix ist ein offenes Kommunikationsprotokoll für Echtzeitkommunikation. Es wurde entworfen, um Benutzern mit Konten bei einem Kommunikationsdiensteanbieter zu erlauben, mit Benutzern anderer Diensteanbieter per Chat, IP-Telefonie und Video-Telefonie zu kommunizieren. Es soll eine föderierte Kommunikation in einem Netzwerk mit verschiedenen Diensteanbietern ermöglichen.[1]
Als Homeserver wird entweder Synapse (Python Anwendung) oder der Nachfolger Dendrite (in Go) benutzt:
Synapse
- Synapse dockerisiert mit compose: https://github.com/element-hq/synapse/tree/develop/contrib/docker
Dendrite
Installation
Administration und Konfiguration
- Liste der Variablen in homeserver.yml: https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html
Nach Installation muss einmal lokal ein Admin angelegt werden, erst danach ist die Admin-API erreichbar
In den Docker Container einsteigen
docker exec -t -i 55fb358beccf /bin/bash
Admin User anlegen
root@ff1a8f5c88a5:/# register_new_matrix_user -u admin -p xxxxxxxxx -c /data/homeserver.yaml Make admin [no]: yes Sending registration request... Success!
Clients & User
Matrix ID @admin:matrix.netzwissen.de
Selbstregistrierung per Web ist ausgeschaltet. Neue User werden per Shell regstriert.
register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008
API Request
curl --header "Authorization: Bearer <access_token>" <the_rest_of_your_API_request>
Housekeeping
Föderation
Im DNS braucht man einen A Record und einen SRV Record für die Föderation des Matrix Servers. CNAME statt A Record scheint nicht zu gehen.
Der SRV Record sieht so aus:
_matrix._tcp 1800 IN SRV 10 0 8448 matrix.netzwissen.de
Danach kann man hier testen, ob die Föderation funktioniert:
Federation Check: https://federationtester.matrix.org/#matrix.netzwissen.de