Eigener Matrix Server mit Tuwunel
»Tuwunel is a featureful Matrix homeserver you can use instead of Synapse with your favorite client, bridge or bot. It is written entirely in Rust to be a scalable, low-cost, enterprise-ready, community-driven alternative, fully implementing the Matrix Specification for all but the most niche uses.«
Das Ding habe ich mir heute erfolgreich auf einen VPS gedengelt. Echt kein Hexenwerk und sehr ressourcenschonend. Ich habe das ganz easypeasy mit Docker Compose umgesetzt:
services:
tuwunel:
image: ghcr.io/matrix-construct/tuwunel:latest
container_name: tuwunel
restart: unless-stopped
volumes:
- ./data:/var/lib/tuwunel
- ./tuwunel.toml:/etc/tuwunel.toml:ro
environment:
TUWUNEL_CONFIG: /etc/tuwunel.toml
networks:
- web
networks:
web:
external: true
Die Network-Geschichte müsst ihr natürlich Euren Gegebenheiten anpassen.
Hier noch ein Beispiel für die tuwunel.toml:
[global]
server_name = "example.com"
database_path = "/var/lib/tuwunel"
address = ["0.0.0.0"]
port = 6167
max_request_size = 20_000_000
allow_registration = true
registration_token = "EIN-GEHEIMER-TOKEN-KOMMT-HIER-REIN"
allow_federation = true
trusted_servers = ["matrix.org"]
[global.well_known]
client = "https://example.com"
server = "example.com:443"
Dann noch die Caddy-Datei (aka Caddyfile) anpassen:
example.com, example.com:8448 {
reverse_proxy tuwunel:6167
}
Das natürlich nur, wenn Caddy der Proxy Eurer Wahl ist.
Zum Schluss eine beherztes
docker compose up -d
und fertig ist die Laube. Jetzt könnt Ihr ganz entspannt mit der Matrix App Eurer Wahl einen ersten Account erstellen (der registration token liegt in der tuwunel.toml), der gleichzeitig auch den Admin-User darstellt. Alle Einstellungen nimmt man im Admin-Chat vor, der sofort nach dem ersten LogIn vorhanden ist. Eigenes Webgedöns gibt es nicht, braucht es aber IMHO auch nicht.
Tuwunel läuft auf dem VPS voll geschmeidig und kaum merkbar (ca. 90 MB im RAM) vor sich hin. Wer mich mal anfunken will, kann das gerne tun.