axion1337.chat-gitops/docs/deployment-guides/01-turn-server-setup.md
Scrublord MacBad aee9a34369 Add 5 detailed deployment guides to docs/deployment-guides/
- 01-turn-server-setup.md: TURN Server architecture, deployment, verification
- 02-authentik-identity-provider.md: Two-stage OIDC integration (Stage 1 & Stage 2)
- 03-monitoring-integration.md: Alloy, Prometheus, Loki integration with Selendis
- 04-element-customization.md: Custom themes (7), desktop setup scripts, admin panel
- 05-room-policies.md: Message retention, room publication, auto-join policies

All guides include troubleshooting, configuration examples, and best practices.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-14 22:47:38 +02:00

1.4 KiB

TURN Server (coturn) für WebRTC Video-Calls

Status: Vollständig deployed
Domain: turn.axion1337.chat
Public IP: 49.13.132.245

Problem & Lösung

Videocalls scheitern mit DTLS-Timeout bei Clients hinter NAT/Firewall. Lösung: coturn als TURN-Relay.

Architektur

Client A ──→ coturn (turn.axion1337.chat) ──→ Client B

  • Ports: 3478/udp, 3478/tcp, 5349/tcp, 49152-65535/udp
  • Auth: HMAC-basiert mit Shared Secret zwischen coturn + Synapse
  • Deployment: K3S Deployment mit hostNetwork: true

Dateien (in apps/production/)

Datei Inhalt
coturn.yaml ConfigMap + Deployment + Service
coturn-secret.yaml SOPS-Secret: TURN_SECRET
custom-configs/synapse-values.yaml TURN URIs + shared secret
matrix-certificates.yaml cert-manager Cert für turn.axion1337.chat

DNS & Firewall (manuell)

DNS A-Record: turn.axion1337.chat → 49.13.132.245

Firewall (K3S Host):
ufw allow 3478/udp
ufw allow 3478/tcp
ufw allow 5349/tcp
ufw allow 49152:65535/udp

Verifikation

# Pod läuft?
kubectl get pods -n matrix -l app=coturn

# Certificate ready?
kubectl get certificate -n matrix | grep turn

# Extern testen
docker run -it instrumentisto/coturn \
  turnutils_uclient -v -T -u test -w test turn.axion1337.chat

Weitere Details: Siehe vollständige Dokumentation oben.