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

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 <access_token>" <the_rest_of_your_API_request>

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