tools/chat messenger/matrix-element.md

95 lines
3.9 KiB
Markdown
Raw Normal View History

2022-08-02 21:09:19 +02:00
# Matrix (Element + Synapse)
2022-12-21 15:26:47 +01:00
Matrix28 steht in erster Linie für ein auf HTTP basierendes
offenes Protokoll für Messaging. Dieses Protokoll wird
durch verschiedene Server- und Client-Implementierun-
gen umgesetzt. Hier wurden Matrix-Synapse29 als Server
und Element30 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-Ser-
vern. Matrix-Server leiten Nachrichten zu dem jeweils
zuständigen Matrix-Server weiter, bei dem der:die Benut-
zer: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 durchge-
fü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 Viel-
zahl an weiteren Implementierungen und Erweiterungen
für Räume (Extensions) oder sog. Bots und Bridges, die
weitere Funktionen oder Anbindungen zu anderen Mes-
senger-Plattformen ermöglichen. Die Qualität der Erwei-
terungen 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-Encrypti-
on-Keys zu speichern. Dadurch ist schon häufiger User:in-
nen ihre gesamte Historie abhanden gekommen.
2022-08-02 21:09:19 +02:00
## 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:
2022-12-21 15:26:47 +01:00
- 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.