Benutzer-Werkzeuge

Webseiten-Werkzeuge


it-themen:allgemein:nextcloud_talk_hochleistungs-backend

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

snippet.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)

snippet.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)

snippet.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

snippet.bash
# Signaling
curl -vk https://talk.example.org
 
# TURN
echo "Test" | openssl s_client -connect talk.example.org:3478

NĂĽtzliche Zusatzbefehle

snippet.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

Lars.Weiss@gmail.com?l|Lars WeiĂź Lars WeiĂź 04.06.2025 11:27

it-themen/allgemein/nextcloud_talk_hochleistungs-backend.txt · Zuletzt geändert: von lars