Nextcloud Talk - High Performance Backend

Nextcloud Talk

Nextcloud Talk ist ein vollständig selbst gehosteter, lokaler Audio/Video- und Chat-Kommunikationsdienst. Sie überträgt Bild, Ton und Dateien direkt zwischen den Teilnehmern. Daher können alle Daten in Ende-zu-Ende-verschlüsselten Kanälen fließen. Dank der in modernen Browsern dafür integrierten Technik braucht man keine Extra-Software, nicht einmal fürs Teilen von Anwendungsfenstern oder des Desktops. Und das alles DSGVO-konform. Leider hatte der Dienst zu Anfang ein Problem, da es limitiert auf zehn Personen war. Mit dem High Performance Backend entfällt diese Limitierung.

Die Nextcloud GmbH hat sich mit seinem Partner Struktur AG dazu entschlossen, diese Vorteile des High Performance Backend an die Community weiterzugeben. Somit steht das HPB nun als Open Source zur Verfügung, wie in diesem Blog-Post zu entnehmen ist. Wie wichtig Kommunikation über digitale Medien ist, hat uns die Pandemie eindeutig gezeigt.

Die Installation ohne Docker war allerdings nicht trivial, sondern setzte ein gewisses Maß an Grundkenntnissen voraus. Dies ist mit Docker nun Geschichte!

minimale Systemvoraussetzungen für 150 Personen:

- mind. 32GB Festplattenspeicher
- mind. 8GB Arbeitsspeicher
- mind. 4 CPU-Kerne

Installation

Wie immer müssen zuerst die erforderlichen Pakete für die eigentliche Installation, installiert werden. Und los gehts.

Bash: System aktualisieren
apt update && apt upgrade -y
Bash
apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

Jetzt fügen Sie den offizielen Docker GPG-Schlüssel hinzu.

Bash
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

Wenn Sie überprüfen möchten, ob der GPG-Schlüssel hinzugefügt wurde, können Sie dies mit folgendem Befehl.

Bash
apt-key fingerprint 0EBFCD88

Im Anschluss fügen Sie das Repository hinzu.

Bash
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

Der Befehl lsb_release -cs gibt den Namen der installierten Debian-Distribution zurück (z. B. buster für Debian 10).
Der Parameter arch ist notwendig, um die Architektur Ihres Geräts anzugeben, Sie müssen zwischen den Optionen amd64, armhf oder arm64 wählen.

Jetzt lassen Sie das System nach Updates suchen.

Bash
apt update

Installation der Docker Engine, Docker-Compose sowie Git

Bash
apt install docker-ce docker-ce-cli containerd.io docker-compose git

Überprüfen Sie die Installation mit dem Befehl.

Bash
docker -v

Zum Abschluss müssen Sie einen User zur Gruppe Docker hinzufügen. Sollten Sie CloudPanel nutzen, setzten Sie den User clp ein.

Bash
sudo adduser clp docker

Git Repository klonen

Code
cd /opt/
git clone https://github.com/strukturag/nextcloud-spreed-signaling.git && cd nextcloud-spreed-signaling

Für die Einrichtung des Signaling Servers, benötigen Sie einige Sicherheitsschlüssel, die in den Konfigurationsdateien hinterlegt werden müssen. Mit diesem kleinen Script, werden alle Schlüssel in einer Datei abgelegt und müssen im Anschluss nur an die richtige Stelle kopiert werden. Um das Script zu nutzen, legen Sie z. B. eine keys.sh mit nano oder vi an und kopieren den unten stehenden Quellcode hinein. Damit die Datei ausgeführt werden kann, müssen Sie die Berechtigung mit chmod +x keys.sh noch ändern. Jetzt kann die Datei mit ./keys.sh ausgeführt werden.

Erstellung des Docker-Compose

Code
nano docker-compose.yml

Folgende Einträge ändern REALM* und STATIC_SECRET:

* REALM hier sollte eine eigene Subdomain für den Signaling-Server erstellt werden

Die Serverkofiguration erstellen:

Code
nano server.conf

Kopieren Sie den unten stehenden Quellcode in den Editor und passen Sie die Konfiguration an. Es können auch mehrere Backends eingestellt werden, denken Sie nur hier daran, dass aus Sicherheitsgründen, für jede Instanz eigene Sicherheitsschlüssel generiert werden sollten.

Datei Speichern und die Rechte vergeben 644:

Code
chmod 644 server.conf

Image erstellen

Code
docker-compose build

Image Starten, dies dauert in der Regel etwas länger, bis alle Container erstellt wurden.

Code
docker-compose up -d

Firewall

Damit der Dienst auch erreichbar ist, muss der Port 3478 TCP und UDP freigegeben werden.

CloudPanel vHost konfiguration

Wenn Sie hier schon in den Einstellungen sind, können Sie für die Subdomain auch direkt ein kostenloses Lets Encrypt Zertifikat erstellen lassen.

Konfiguration der Talk App in Nextcloud

Laden Sie in Ihrer Nextcloud die Talk-App herunter. Im Anschluss gehen Sie in den Administrationsbereich und hier auf Talk. Ergänzen Sie folgende Bereiche:

  • STUN-Server: signaling.meineDomain.de:3478
  • TURN-Server: signaling.meineDomain.de:3478 Als Secret verwendet Ihr das STATICSECRET
  • Hochleistungs-Backend: https://signaling.meineDomain.de/standalone-signaling/ Als Secret verwendet Ihr das SHAREDSECRET

Sind alle Einstellungen erledigt, sollte Nextcloud Talk nun reibungslos funktionieren.

Mobile Apps

Natürlich finden sich im Google Play Store und im App Store von Apple auch Mobile Apps für Nextcloud Talk

Supported Browsers

BrowserCompatible
Firefox✔️ 52 or later
Chrome/Chromium✔️ 49 or later
Opera✔️ 72 or later
Edge⚠️ Latest versions

? Speakers are not promoted

? Name changes while a call is on-going are not reflected
Safari⚠️ 12 or later

❌ No screensharing support

? Viewing screens of others' work


Quellen:

About the Author

Ich bin IT-Spezialist im Fachbereich der IT-Administratoren. Neben Beruf und Familie, erstelle ich als, Teil meines Hobbys, gerne Tutorials, sowie WoltLab Stile. Aktuell befinde ich mich auf meinem Informationstechnikermeister.

Foxly Team

Comments