Nextcloud Talk – High Performance Backend

Nextcloud Talk erlaubt es schnell und unkompliziert Video Konferenzen über ihre eigene Nextcloud Instanz zu halten. Da Talk standardmäßig Peer-to-Peer verwendet ist die Anzahl der Teilnehmer jedoch meist auf lediglich eine Hand voll beschränkt.

Der Einsatz des High Performance Backends ermöglicht bis zu 50 Teilnehmer Pro Anruf!

Nextcloud High Performance Backend Installation

Beispiel Installation auf Ubuntu Server mit Apache als Frontend.

Installieren Sie zuerst Docker.

apt install docker docker.io docker-compose -y
systemctl enable docker

Laden Sie anschließend das GIT Repository herunter und entpackt Sie dieses.

cd /opt
wget https://github.com/strukturag/nextcloud-spreed-signaling/archive/master.zip
unzip master.zip
rm master.zip

Wechseln Sie nun in das neue Verzeichnis.

cd nextcloud-spreed-signaling-master/

Und erstellen dann die neue Konfiguration.

cp -a server.conf.in server.conf

Für die Konfiguration müssen diverse Keys erzeugt und dann an der entsprechenden Stelle in der server.conf eingetragen werden.

Janus API-Key:

openssl rand -base64 16

Hash-Key:

openssl rand -hex 16

Block-Key:

openssl rand -hex 16

Nextcloud Secret Key:

openssl rand -hex 16

Turnserver Key:

openssl rand -hex 32

Desweiteren müssen mehrere Parameter angepasst werden.

MCU Url:

ws://localhost:8188

NATS URL:

nats://localhost:4222

TURN Server:

turn:localhost:3478?transport=udp,turn:localhost:3478?transport=tcp.

Danach muss die docker-compose.yml angepasst werden.

REALM: host.name.de
STATIC_SECRET: hier-turn-server-key-einfügen

Nun muss noch der Apache vhost erweitert werden.

Fügen Sie vor </VirtualHost> folgendes ein:

    # Enable proxying Websocket requests to the standalone signaling server.
    ProxyPass "/standalone-signaling/"  "ws://127.0.0.1:8080/"

    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:8080/api/$1 [L,P]

Folgende Apache Module müssen aktiviert sein.

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_wstunnel
/etc/init.d/apache2 restart

Danach können die Images erstellt und die Docker Container gestartet werden.

docker-compose build
docker-compose up -d

Für den Turn/Stunserver muss noch die Firewall (hier Iptables) angepasst werden.

In den Iptables, sowohl v4 als auch v6, folgendes hinzufügen:

-A INPUT -p tcp -m tcp --dport 3478 -j ACCEPT
-A INPUT -p udp -m udp --dport 3478 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3479 -j ACCEPT
-A INPUT -p udp -m udp --dport 3479 -j ACCEPT
vi /etc/iptables/rules.v4
iptables-restore /etc/iptables/rules.v4
vi /etc/iptables/rules.v6
ip6tables-restore /etc/iptables/rules.v6

Abschließend müssen die Talk Einstellungen in der Weboberfläche angepasst werden.

Beispielkonfiguration:

STUN-Server

signal.hostname.de:3478

TURN-Server

signal.hostname.de:3478

Secret: hier-turn-server-key-einfügen

UDP und TCP

Signaling-Server

wss://signal.hostname.de/standalone-signaling/

Gemeinsames Geheimnis
hier-Nextcloud-Secret-Key-einfügen

Das Nextcloud High Performance Backend ist nun einsatzbereit!

Sollten Sie Interesse an einem eigenen Nextcloud High Performance Backend in Ihrem Unternehmen haben, so können wir Sie gerne dabei unterstützen. Wir freuen uns auf Ihren Kontakt. Weitere Informationen sowie den Kontakt finden Sie auf unserer Nextcloud Seite der ADMIN INTELLIGENCE GmbH. 

Tim Perelli
Letzte Artikel von Tim Perelli (Alle anzeigen)