Element - Matrix-Chat-Client im Browser selbst hosten
Element - Matrix-Chat-Client im Browser selbst hosten
Element ist die offizielle Web-Oberfläche für das dezentrale Matrix-Protokoll und ermöglicht sicheres, verschlüsseltes Chatten ohne Abhängigkeit von zentralen Servern.
Was ist Element?
Matrix ist ein offenes, föderiertes Kommunikationsprotokoll, das Ende-zu-Ende-Verschlüsselung und dezentrale Serverstrukturen kombiniert. Element (früher Riot.im) ist der am weitesten verbreitete Client für dieses Netzwerk und läuft vollständig im Browser. Wer einen eigenen Matrix-Homeserver betreibt (z. B. Synapse), kann auch den Element-Webclient selbst hosten und so die vollständige Kontrolle über die gesamte Kommunikationsinfrastruktur behalten. Das Docker-Image enthält einen vorkonfigurierten Nginx, der die statischen Dateien der Anwendung ausliefert.
Voraussetzungen
- Docker 20.10+ / Docker Compose
- Eigener Matrix-Homeserver (z. B. Synapse) oder Nutzung von matrix.org
- Optional: Reverse Proxy (Nginx, Traefik) für HTTPS
Compose-Beispiel
services:
element:
image: vectorim/element-web:latest
container_name: element
restart: unless-stopped
ports:
- "8080:80"
volumes:
- ./config.json:/app/config.json:ro
Minimale config.json für einen eigenen Homeserver:
{
"default_server_config": {
"m.homeserver": {
"base_url": "https://matrix.meinedomain.de",
"server_name": "meinedomain.de"
}
},
"brand": "Element"
}
Hinweise
- Konfigurationsdatei einbinden: Die
config.jsonmuss als Read-only-Volume eingehängt werden, sonst startet Element mit den Standardeinstellungen von matrix.org. - HTTPS ist Pflicht: Browser erlauben Kamera, Mikrofon und Benachrichtigungen nur über sichere Verbindungen. Einen Reverse Proxy mit TLS-Terminierung vorschalten.
- Eigener Homeserver empfohlen: Für maximale Kontrolle Synapse oder Dendrite als separaten Container betreiben und in der
config.jsoneintragen. - Updates: Das
latest-Tag wird regelmäßig aktualisiert. Mitdocker compose pull && docker compose up -dbleibt der Client auf dem neuesten Stand.