Talk-Hochleistungs-Backend
Diese optionale Erweiterung folgt nach der abgeschlossenen Nextcloud- und HTTPS-Einrichtung. Sie gilt für die normale Installation und Quick Install v2. Alle Shell-Befehle werden als Root auf dem Server ausgeführt.
Warnmeldung verstehen
Kein Hochleistungs-Backend eingerichtet – Ohne das Hochleistungs-Backend skaliert Talk nur für kleinere Meetings (max. 2–3 Teilnehmer). Bitte das Hochleistungs-Backend einrichten, um sicherzustellen, dass Meetings mit mehreren Teilnehmern reibungslos funktionieren.
Das Hochleistungs-Backend (HPB) übernimmt die Signalisierung und die Verteilung von Audio- und Videodaten für Talk-Konferenzen. Die Angabe in der Warnung ist keine feste technische Teilnehmergrenze: Die nutzbare Größe hängt auch von Bandbreite, Hardware und den beteiligten Geräten ab.
Client-Push beschleunigt Änderungsbenachrichtigungen und ersetzt kein Talk-Hochleistungs-Backend. Für kleine Übungen kann die Warnung zunächst bestehen bleiben.
Voraussetzungen prüfen
Diese Variante ergänzt die manuell installierte Nextcloud um den eigenständigen Talk-Container aus Nextcloud AIO. Eine Neuinstallation der vorhandenen Nextcloud als AIO ist dafür nicht erforderlich.
- Nextcloud und HTTPS funktionieren; Talk ist installiert.
- Docker läuft auf dem vorgesehenen Host. Die Einrichtung richtet sich nach der Docker-Anleitung für Ubuntu.
- Der Docker-Host und der Container können den Nextcloud-Hostnamen auflösen und Nextcloud über HTTPS erreichen.
- Die HTTPS-Zertifikate werden von Nextcloud, dem Container und den Clients als vertrauenswürdig akzeptiert.
- Der lokale TCP-Port
8081ist frei. Bei einer anderen Belegung die folgenden Portangaben konsistent anpassen.
Lokale Testumgebung und Container
Ein Eintrag in /etc/hosts des Servers wird nicht automatisch in den
Container übernommen. Bei fehlendem DNS ist eine zusätzliche Zuordnung im
Container erforderlich. Ein selbstsigniertes Übungszertifikat muss außerdem
im Container ausdrücklich als vertrauenswürdig eingerichtet werden.
Die bestehende Vertrauenseinrichtung auf dem Arbeitsplatz reicht dafür nicht.
Vor dem Fortfahren müssen Namensauflösung und Zertifikatsvertrauen funktionieren.
Bei einem LXC-Testserver muss die Containerplattform den Betrieb von Docker unterstützen. Andernfalls einen separaten geeigneten Docker-Host verwenden; die hier gezeigte Apache-Zieladresse müsste dann entsprechend angepasst werden.
Falls Talk noch nicht installiert ist:
Talk-Container vorbereiten
Die Konfiguration in einer nur für Root lesbaren Datei ablegen:
install -d -m 700 /etc/nextcloud-talk-hpb
(umask 077; touch /etc/nextcloud-talk-hpb/container.env)
vi /etc/nextcloud-talk-hpb/container.env
Folgende Werte eintragen. NC_DOMAIN enthält den tatsächlichen Nextcloud-Hostnamen
ohne Protokoll und ohne Pfad. Die drei Geheimnisse sind voneinander unabhängig;
für jeden Platzhalter einmal openssl rand -hex 32 ausführen und das Ergebnis
übernehmen. Es handelt sich um Dienstgeheimnisse, nicht um die Benutzerpasswörter
aus der Workshop-Vorlage.
NC_DOMAIN=nc.home.arpa
TALK_PORT=3478
TURN_SECRET=TURN_GEHEIMNIS_EINTRAGEN
SIGNALING_SECRET=SIGNALING_GEHEIMNIS_EINTRAGEN
INTERNAL_SECRET=INTERNAL_GEHEIMNIS_EINTRAGEN
Den Container starten:
docker run --detach \
--name nextcloud-talk-hpb \
--restart unless-stopped \
--env-file /etc/nextcloud-talk-hpb/container.env \
--publish 127.0.0.1:8081:8081 \
ghcr.io/nextcloud-releases/aio-talk:latest
Ohne DNS kann vor dem Image-Namen zusätzlich beispielsweise
--add-host nc.home.arpa:10.174.243.218 eingefügt werden. Hostname und IP müssen
zur tatsächlichen, vom Container erreichbaren Nextcloud-Adresse passen.
Das ersetzt nicht die Einrichtung des Zertifikatsvertrauens.
Der Signalisierungsport ist nur lokal erreichbar; den externen Zugriff übernimmt Apache über HTTPS. Den lokalen Dienst prüfen:
Die Antwort muss JSON mit nextcloud-spreed-signaling und Welcome enthalten.
Bei Containerfehlern zuerst die Protokolle auswerten.
Apache als Reverse Proxy ergänzen
Die Proxy-Module aktivieren und die vorhandene HTTPS-Site öffnen:
Innerhalb des bestehenden <VirtualHost *:443>-Blocks folgende Regeln ergänzen.
Die spezifische WebSocket-Regel muss vor der allgemeinen HTTP-Regel stehen.
Vorhandene Nextcloud-, TLS- und HSTS-Einstellungen beibehalten:
ProxyPass "/standalone-signaling/spreed" "ws://127.0.0.1:8081/spreed"
ProxyPass "/standalone-signaling/" "http://127.0.0.1:8081/"
ProxyPassReverse "/standalone-signaling/" "http://127.0.0.1:8081/"
Konfiguration prüfen:
Nur bei Syntax OK Apache neu laden:
Den HTTPS-Endpunkt prüfen:
Auch hier muss die JSON-Willkommensmeldung erscheinen. Bei einem lokalen
Zertifikat gegebenenfalls dessen vertrauenswürdige CA mit --cacert angeben;
Zertifikatsfehler nicht mit -k umgehen.
Backend in Talk eintragen
Unter Administrationseinstellungen → Talk → Hochleistungs-Backend eintragen:
| Einstellung | Wert für dieses Beispiel |
|---|---|
| Backend-URL | https://nc.home.arpa/standalone-signaling |
| Gemeinsames Geheimnis / Shared Secret | Wert von SIGNALING_SECRET aus der Konfigurationsdatei |
Die Verbindung prüfen. Erst bei erfolgreicher Prüfung mit einem echten Testgespräch fortfahren. Die Warnung anschließend in der Administrationsübersicht erneut kontrollieren.
Audio und Video mit mehreren Teilnehmern prüfen
Ein erfolgreicher Signalisierungstest bestätigt noch keine funktionierende Medienverbindung. Ein Gespräch mit mindestens drei Geräten testen und Mikrofon, Kamera sowie Bildschirmfreigabe prüfen. Ein Test aus einem zweiten Netzwerk hilft, Probleme durch NAT und Firewalls zu erkennen.
Für eingeschränkte Netze ist häufig zusätzlich ein TURN-Server erforderlich.
Der AIO-Talk-Container enthält eine TURN-Komponente; der obige Startbefehl
veröffentlicht deren Ports jedoch noch nicht. Für die zusätzliche Einrichtung
TALK_HOST, die TCP-/UDP-Portfreigaben und die TURN-Einstellungen in Talk nach der
offiziellen TURN-Option
konfigurieren. Die grundlegenden Netzwerkzusammenhänge beschreibt die
Talk-Dokumentation zu TURN.
Bei fehlenden Audio-/Videodaten auch die Medienpfade des WebRTC-Gateways prüfen.
Typische Fehler eingrenzen
| Beobachtung | Prüfung |
|---|---|
| Container startet nicht | docker logs --tail 100 nextcloud-talk-hpb, Konfigurationsdatei und freie Ports prüfen. |
Apache antwortet mit 502 oder 503 |
Containerstatus und lokalen Willkommens-Endpunkt prüfen. |
| Zertifikats- oder Namensfehler | DNS/Hosts-Zuordnung und Zertifikatsvertrauen auch innerhalb des Containers prüfen. |
| Gemeinsames Geheimnis wird abgelehnt | Den Wert von SIGNALING_SECRET verwenden, nicht TURN_SECRET oder das Admin-Passwort. |
| Verbindungstest erfolgreich, aber kein Ton oder Bild | WebSocket-Verbindung, WebRTC-Medienpfade, NAT, Firewall und TURN prüfen. |
Die Einrichtung wurde als Anleitung dokumentiert; die konkrete Testumgebung muss mit den oben beschriebenen Verbindungs- und Gesprächsprüfungen validiert werden.
Quellen: Talk-Installation mit Docker und Signalisierungsserver und Apache-Anbindung.