====== 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
* mit Postgres statt https://github.com/matrix-org/synapse/blob/develop/docs/postgres.md und https://gist.github.com/joenas/be7e1ca587301b8910c9fd44c3751c08
* OIDC Setup: https://element-hq.github.io/synapse/latest/openid.html
**Dendrite**
https://github.com/matrix-org/dendrite
===== Installation =====
https://decatec.de/home-server/matrix-synapse-auf-ubuntu-server-20-04-lts-mit-nginx-postgresql-und-lets-encrypt/#Konfiguration_Matrix_Synapse
Haproxy Config https://github.com/benpro/synapse/commit/a9a6783931610ddf02242090446fc0a43e28c15c
===== Administration und Konfiguration =====
* https://doc.matrix.tu-dresden.de/
* https://matrix-org.github.io/synapse/latest/usage/administration/admin_faq.html
* Liste der Variablen in homeserver.yml: https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html
* https://matrix-org.github.io/synapse/latest/usage/administration/admin_api/
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 =====
https://element.io/
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 "
===== Housekeeping =====
https://jo-so.de/2018-03/Matrix.html
===== 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