85 lines
No EOL
3.9 KiB
Markdown
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. |