Dies ist eine alte Version des Dokuments!
# Nextcloud Talk Hochleistungs-Backend (Signaling + TURN) – Docker Setup
## Ăśbersicht
Dieses Setup beinhaltet die vollständige Konfiguration für das Hochleistungs-Backend von Nextcloud Talk: - Signaling Server (spreed-signaling) - Coturn (TURN/STUN) - Reverse Proxy via Traefik - SSL via Let's Encrypt
—
## Docker-Verzeichnisstruktur (`/opt/docker/talk`)
``` docker-compose.yml server.conf # Signaling Config turnserver.conf # Coturn Config ```
—
## docker-compose.yml
```yaml version: „3.8“ services:
signaling:
image: strukturag/nextcloud-spreed-signaling
container_name: signaling
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./server.conf:/config/server.conf
networks:
- docker_backend
environment:
- DOMAIN=talk.example.org
- SIGNALING_SECRET=SuperSecret123
- NATS_ENABLED=false
labels:
- "traefik.enable=true"
- "traefik.http.routers.talk.rule=Host(`talk.example.org`)"
- "traefik.http.routers.talk.entrypoints=websecure"
- "traefik.http.routers.talk.tls.certresolver=le"
- "traefik.http.services.talk.loadbalancer.server.port=8080"
- "traefik.docker.network=docker_backend"
coturn:
image: instrumentisto/coturn
restart: always
networks:
- docker_backend
ports:
- "3478:3478/udp"
- "3478:3478"
volumes:
- ./turnserver.conf:/etc/coturn/turnserver.conf
command: ["-c", "/etc/coturn/turnserver.conf"]
networks:
docker_backend: external: true
```
—
## server.conf (Signaling)
```ini listen = 0.0.0.0:8080 tls_listen = 0.0.0.0:8443 tls = false shared-secret = SuperSecret123 http-origin = * nats-enabled = false ```
—
## turnserver.conf (Coturn)
```ini listening-port=3478 fingerprint use-auth-secret static-auth-secret=SuperSecret123 realm=talk.example.org total-quota=100 bps-capacity=0 stale-nonce no-loopback-peers no-multicast-peers cli-password=SuperSecret123 ```
—
## Bekannte Fehlerquellen & Lösungen
| Fehlerbild | Ursache | Lösung |
| ———– | ——— | ——– |
| `502 Bad Gateway` | Signaling nicht gestartet oder crashed | Volume prĂĽfen, Config korrekt referenziert (`/config/server.conf`) |
| `Could not create connection (nats: no servers…)` | Default NATS-Loopback aktiv | Setze `nats-enabled = false` in der `server.conf` |
| `Connection refused` auf Port 8080 | Container hat Config nicht geladen | `docker exec -it signaling cat /config/server.conf` prĂĽfen |
| Coturn TLS-Zertifikatsfehler | Datei nicht vorhanden | Coturn nicht mit TLS starten oder TLS ĂĽber Traefik absichern |
| Docker `restarting` Loop | Falscher Pfad in Volume-Zuweisung | `volumes:`-Abschnitte prĂĽfen auf absolute vs. relative Pfade |
| `/healthz` liefert 404 | Endpoint existiert nicht bei diesem Image | Ist normal, keine Problemquelle |
—
## Test-URLs
```bash # Signaling curl -vk https://talk.example.org
# TURN echo „Test“ | openssl s_client -connect talk.example.org:3478 ```
—
## NĂĽtzliche Zusatzbefehle
```bash # Container Logs docker logs -f signaling docker exec -it signaling sh
# curl intern im Container apk add curl curl -v http://127.0.0.1:8080/ ```
—
## Empfehlung fĂĽr Backup
Erstelle regelmäßig ein Backup dieser Dateien:
- `docker-compose.yml` - `server.conf` - `turnserver.conf` - `.env` falls vorhanden