Nextcloud Talk – High Performance Backend II
Überblick
- Verwendetes System: Ubuntu 20.04 64 bit
- Reverse Proxy: Apache Webserver
- Zeitdauer: 10 Minuten
- Voraussetzungen:
- Bestehende Nextcloud Instanz für die Verwendung von Talk
- Installierter Docker Daemon inkl. Docker Compose
Einleitung
In meinem Artikel „Nextcloud Talk – High Performance Backend„ habe ich beschrieben, wie man das Backend installieren kann. Allerdings hatte ich dabei immer wieder Probleme: Nutzer wurden aus Meetings geworfen, und es kam häufig zu Verbindungsabbrüchen.
Auf der Suche nach einer Alternative bin ich auf Nextcloud AIO gestoßen. Dieses Projekt ermöglicht eine einfache Installation aller Nextcloud-Komponenten über Docker – unkompliziert und schnell. Für meine Zwecke nutze ich jedoch ausschließlich den Container, der für Nextcloud Talk erforderlich ist.
Passwörter generieren
Auch in diesem Setup gilt es, einige Passwörter für unseren Server zu erstellen. Verwendet die folgenden Befehle, um die Kennwörter zu generieren, und speichert sie anschließend in einem Textdokument. Ihr benötigt diese Passwörter später für die Konfiguration.
TURN_SECRET: openssl rand -hex 32
SIGNALING_SECRET: openssl rand -hex 32
INTERNAL_SECRET: openssl rand -hex 32
Notwendige Verzeichnisse anlegen
Im Anschluss führen wir die folgenden Befehle aus:
mkdir /private/docker/nextcloud-hpbe-aio -p
cd /private/docker/nextcloud-hpbe-aio
docker-compose.yml erstellen
Jetzt können wir mit der eigentlichen Installation von Nextcloud HPBE beginnen. Öffnet dazu die folgende Datei:
nano /private/docker/nextcloud-hpbe-aio/docker-compose.yml
Nun kopiert ihr den folgenden Code in die Datei. Dieser Code dient als Bauplan für den Nextcloud HPBE Container.
name: 'hpb'
services:
nc-talk:
container_name: talk_hpb
image: nextcloud/aio-talk:latest
init: true
ports:
- 3478:3478/tcp
- 3478:3478/udp
- 8181:8081/tcp
environment:
- NC_DOMAIN=cloud.yourdomain.tld
- TALK_HOST=mysignal.mydomain.tld
- TURN_SECRET=<TURN_SECRET>
- SIGNALING_SECRET=<SIGNALING_SECRET>
- TZ=Europe/Berlin
- TALK_PORT=3478
- INTERNAL_SECRET=<INTERNAL_SECRET>
restart: unless-stopped
Ersetzt dort die beiden Domainnamen und die in „<>“ eingeschlossenen Keys mit den zuvor erstellten Werten.
HPBE starten
Gebt nun folgenden Befehl ein, um den HPBE-Container zu starten:
docker compose -f /private/docker/nextcloud-hpbe-aio/docker-compose.yml up -d
Apache als Reverse Proxy konfigurieren
Ich verwende einen Apache Webserver als Reverse Proxy. Für die Nutzung mit dem Nextcloud Talk High Performance Backend müssen einige Proxy-Module aktiviert werden.
a2enmod proxy proxy_http proxy_wstunnel
Zum Schluss muss die passende vHost Konfiguration um folgendes Snippet erweitert werden:
# Enable proxying Websocket requests to the standalone signaling server.
ProxyPass "/standalone-signaling/" "ws://127.0.0.1:8181/"
RewriteEngine On
# Websocket connections from the clients.
RewriteRule ^/standalone-signaling/spreed$ - [L]
# Backend connections from Nextcloud.
RewriteRule ^/standalone-signaling/api/(.*) http://127.0.0.1:8181/api/$1 [L,P]
Damit diese aktiv wird ist ein Neustart des Apache Webservers notwendig:
systemctl restart apache2.service
Nextcloud Konfiguration
Folgende Einstellungen sind in der Nextcloud zu tätigen:
- Hochleistungs-Backend
- Hochleistungs-Backend-URL: https://mysignal.mydomain.tld/standalone-signaling/
- Gemeinsames Geheimnis: <SIGNALING_SECRET>
- STUN-Server: mysignal.mydomain.tld:3478
- TURN-Server
- TURN-Server-URL: mysignal.mydomain.tld:3478
- TURN-Server-Secret: <TURN_SECRET>
Ersetzt dort die beiden Domainnamen und die in „<>“ eingeschlossenen Keys mit den zuvor erstellten Werten.
Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!