tools/chat messenger/matrix-element.md
Philipp Rothmann 81dd0f18a8 fix: linebreak
2022-12-21 18:57:49 +01:00

85 lines
No EOL
3.9 KiB
Markdown

# Matrix (Element + Synapse)
Matrix steht in erster Linie für ein auf HTTP basierendes
offenes Protokoll für Messaging. Dieses Protokoll wird
durch verschiedene Server- und Client-Implementierungen umgesetzt. Hier wurden Matrix-Synapse als Server
und Element als Client getestet. Im Vergleich zu anderen
Lösungen ist Grundbestandteil des Protokolls die sog. Föderierung, womit alle Matrix-Server, egal wer sie betreibt,
untereinander kommunizieren können. Das Protokoll ist
vergleichbar mit dem dezentralen Ansatz von E-Mail-Servern. Matrix-Server leiten Nachrichten zu dem jeweils
zuständigen Matrix-Server weiter, bei dem der:die Benutzer:in registriert ist. Die Föderation kann für einen Server
aber auch deaktiviert werden, um die Kommunikation auf
eine Organisation zu beschränken. Aktuell können nur
1-zu-1 Videoanrufe direkt über Matrix/Element durchgeführt werden, für Gruppentelefonate wird momentan eine
Jitsi-Integration verwendet. Hier ist aber auch eine native
Umsetzung bereits in der Testphase.
Durch das offene Matrix-Protokoll gibt es noch eine Vielzahl an weiteren Implementierungen und Erweiterungen
für Räume (Extensions) oder sog. Bots und Bridges, die
weitere Funktionen oder Anbindungen zu anderen Messenger-Plattformen ermöglichen. Die Qualität der Erweiterungen kann aber stark schwanken.
Ein häufiges Problem in der praktischen Anwendung von
Element als Client ist, dass User:innen vergessen ihre
Passphrase für die Wiederherstellung von E2E-Encryption-Keys zu speichern. Dadurch ist schon häufiger User:innen ihre gesamte Historie abhanden gekommen.
## Allgemeine Informationen
- Website: [matrix.org](https://matrix.org) , [element.io](https://element.io)
- Demo:
- [Hersteller](https://app.element.io/?pk_vid=d4b162e0e6c511851631808451ab93fb)
- [local-it](chat.demo.local-it.org) demo : demo
- Source Code: [Synapse](https://github.com/matrix-org/synapse), [Element](https://github.com/vector-im)
- Dokumentation: [Synapse](https://matrix-org.github.io/synapse/latest/)
- Lizenz: Apache License 2.0
- Programmiersprache (Framework): Python
### Kernfunktionen (Spezialisierung der Plattform)
* Chat
### Erweiterte Funktionen (nicht spezialisiert darauf)
* Integrationen von Bots, Widgets wie z.B. Jitsi oder Bridges zu anderen Messengern möglich
* Umfragen
* Räume in Spaces organisieren
## Technisch
### Installation
- coop-cloud recipe: [Synapse](https://git.coopcloud.tech/coop-cloud/matrix-synapse), [Element](https://git.coopcloud.tech/coop-cloud/element-web)
- Docker: Synapse: [Image](https://hub.docker.com/r/matrixdotorg/synapse), [Dockerfile](https://github.com/matrix-org/synapse/tree/develop/docker)
- Docker-Compose: [synapse](https://github.com/matrix-org/synapse/blob/develop/contrib/docker/docker-compose.yml)
- Healthcheck: noch nicht im compose, aber im Dockerfile gibt es einen
- Secrets: ja
- Konfiguration via: homeserver.yaml
- API-Dokumentation: [übersicht](https://matrix.org/faq/#what-does-matrix-provide%3F)
- Abhängigkeiten:
- App: [python > 3.7](https://github.com/matrix-org/synapse/blob/develop/pyproject.toml)
- Datenbank: postgres
- SMTP / Email: möglich
- Installationshinweise:
- [federationstester](https://federationtester.matrix.org/)
### Authentifizierung & SSO
openid-connect, saml, cas
### Entwicklung
- Maintainership: The Matrix.org Foundation C.I.C. , Ort
- Contributors: 385 (Synapse)
- Letzte Änderung: 07.06.22
- Letzter Release / Zyklus: [1.60.0](https://github.com/matrix-org/synapse/releases/tag/v1.60.0)
- Erweiterbarkeit: viele Bots, Integrationen, Bridges vorhanden
- Geplante Entwicklung / Roadmap: ?
Überprüft am: 07.06.22
### sonstiges
- Import / Export von Userdaten:
- einzelne chats können per element exportiert werden, oder per api
- auf Datenbank ebene vmtl etwas schwerer weil die Secret Keys benötigt werden
- Migration auf eine andere Domain nicht ohne weiteres möglich, da Username daraus abgeleitet wird.