-
Was ist ein vServer?
-
vServer und Sicherheit
-
vServer - Anwendungsfälle
-
vServer bei dogado
-
vServer und Plesk
-
vServer Betriebssyteme
-
vServer Glossar
VPS von dogado - gehostet in Deutschland
Behalte die Kontrolle über deinen vServer/VPS und steuere deine Online-Präsenz souverän. Profitiere von Hochgeschwindigkeits-NVME-SSDs, die bis zu 6-mal schneller sind als herkömmliche.
0. Überblick
- Verwendetes System: Debian 13 64 Bit
- Genutzter User: Alle Befehle werden als „root“ ausgeführt
- Zeitdauer: ca. 20 Minuten
- Schwierigkeit: Einfach. Nur Code kopieren 😉
- Besonderheiten:
- Grundlage ist folgende Anleitung: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-installieren
Diese Anleitung muss zuerst ausgeführt werden. - Eine laufende Nextcloud-Instanz: https://www.dogado.de/vps/vserver-anwendungsfaelle/nextcloud-installation ist später nötig
- Die Installation von Docker / Docker Compose wird hier vorausgesetzt.
- Grundlage ist folgende Anleitung: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-installieren
Systemvoraussetzungen
Für 150 Benutzer werden folgende minimale Systemvoraussetzungen (https://portal.nextcloud.com/article/Nextcloud-Talk/High-Performance-Backend/Requirements) angegeben:
- 8 GB RAM
- 32 GB Festplatte
- 4 CPU-Kerne
1. Was ist das Nextcloud High Performance Back End?
1.1 Einleitung
Das Nextcloud High Performance Back End (HPBE) ermöglicht es euch, Videokonferenzen und Chats mit einer großen Teilnehmerzahl direkt in eurer Nextcloud durchzuführen. Allein mit Nextcloud wäre das so nicht möglich, da jeder Teilnehmer sein Video an alle anderen Teilnehmer schickt, was schnell zu einer Überlastung führt. HPBE stellt hier einen zentralen Punkt bereit, der das Video entgegennimmt und an alle Teilnehmer verteilt.
1.2 Infos zu yml-Dateien
Bei yml-Dateien ist es sehr wichtig, dass die Zeilen alle richtig eingerückt sind. Die Zeilen MÜSSEN immer mit der Leertaste eingerückt werden. Es dürfen KEINE Tabs enthalten sein. Ihr könnt den nachfolgenden Code immer online „überprüfen“ lassen. Die meisten Fehler entstehen nämlich durch die falsche Formatierung. Ein Dienst zum Überprüfen ist zum Beispiel: https://codebeautify.org/yaml-validator
1.3 Auflistung aller HPBE-Dienste
Das Hochleistungs-Backend besteht aus mehreren Diensten, welche alle in einem Container bereitgestellt werden. Dieser „Nextcloud All-in-One“-Container (https://github.com/nextcloud/all-in-one) wird direkt durch Nextcloud bereitgestellt und gewartet. Folgende Dienste nutzen wir zur Realisierung:
| Dienst | Funktion |
|---|---|
| Signalisierungsserver | Dient als Vermittler zwischen Nextcloud und den Nutzern. |
| Janus | Nimmt alle Video- und Audioinhalte entgegen und verteilt sie an alle Teilnehmer. |
| NATS | Dient zur internen Kommunikation zwischen den Diensten. |
| eturnal | Stellt einen TURN- und STUN-Server bereit, der Verbindungen von Teilnehmern durch Firewalls leitet. |
2. Vorbereitung
Diese Anleitung basiert auf dem aktuellen Debian-13-Betriebssystem. HPBE werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.
Um HPBE neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik. Die Anleitung dazu findet ihr hier: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-installieren
2.1 Firewall-Ports freigeben
Der TURN-Server benötigt den Port 3478 TCP / UDP, damit dieser korrekt funktioniert. Diesen müsst ihr auf eurer Firewall freigeben. Solltet ihr die UFW-Firewall verwenden, so gebt ihr Folgendes ein:
ufw allow 3478/tcp
ufw allow 3478/udp
Die Ports 80 und 443 benötigt ihr für Traefik. Gebt diese ebenfalls frei:
ufw allow 80/tcp
ufw allow 443/tcp
2.2 Verzeichnis anlegen
Nun legt ihr das Verzeichnis an, in dem sich später die Konfiguration für HPBE befindet:
mkdir -p /opt/containers/nextcloud-hpbe
2.3 Domain und Schlüssel festlegen
Damit das HPBE korrekt funktioniert, benötigt es die Domain eurer aktuellen Nextcloud-Instanz, eine eigene Domain sowie drei zufällige Schlüssel. Nachfolgendes Skript erstellt diese für euch:
read -rp "Domain eurer Nextcloud (z. B. nextcloud.euredomain.de): " NC_DOMAIN && \
read -rp "Domain des Hochleistungs-Backends (z. B. signal.euredomain.de): " TALK_DOMAIN && \
cat > /opt/containers/nextcloud-hpbe/.env << EOF && chmod 600 /opt/containers/nextcloud-hpbe/.env
NC_DOMAIN=${NC_DOMAIN}
TALK_DOMAIN=${TALK_DOMAIN}
TURN_SECRET=$(openssl rand -hex 32)
SIGNALING_SECRET=$(openssl rand -hex 32)
INTERNAL_SECRET=$(openssl rand -hex 32)
EOF
Gebt bei der Domain nicht „https“ ein, sondern nur die eigentliche Domain. So sieht der Dialog bei mir aus:
Anschließend kontrolliert ihr, ob die Konfigurationsdatei korrekt erstellt wurde. Gebt dazu Folgendes ein:
cat /opt/containers/nextcloud-hpbe/.env
Ihr solltet nun eine solche Ausgabe sehen:
NC_DOMAIN=nextcloud.testbereich.net
TALK_DOMAIN=signal.testbereich.net
TURN_SECRET=06e82ee00ccdc04884199d01882a39e31c8954bbfaccadcd1e01309124b51cfc
SIGNALING_SECRET=60a7fc62dd2d2444cc9114356388fbaa7acc209399a0ef390e6f56cbafb7a9a8
INTERNAL_SECRET=a306c491d185ffed4760425e1a1171077a5d3504e6bf7fe5e5bb9c12097c6cab
2.4 Docker Compose anlegen
Nun erstellt ihr den eigentlichen Server:
nano /opt/containers/nextcloud-hpbe/docker-compose.yml
Inhalt:
services:
talk-hpb:
image: ghcr.io/nextcloud-releases/aio-talk:latest
container_name: nextcloud-hpbe
restart: unless-stopped
init: true
environment:
NC_DOMAIN: ${NC_DOMAIN}
TALK_HOST: ${TALK_DOMAIN}
TURN_DOMAIN: ${TALK_DOMAIN}
TALK_PORT: 3478
TURN_SECRET: ${TURN_SECRET}
SIGNALING_SECRET: ${SIGNALING_SECRET}
INTERNAL_SECRET: ${INTERNAL_SECRET}
TZ: Europe/Berlin
ports:
- "3478:3478/tcp"
- "3478:3478/udp"
networks:
- proxy
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.routers.talk-hpb.rule=Host(`${TALK_DOMAIN}`)"
- "traefik.http.routers.talk-hpb.entrypoints=websecure"
- "traefik.http.services.talk-hpb.loadbalancer.server.port=8081"
networks:
proxy:
external: true
Hier müsst ihr nichts ändern, da die Docker-Compose-Datei sich alle Parameter aus der zuvor erstellten Konfigurationsdatei zieht.
3. Nextcloud HPBE starten
Startet nun euren HPBE-Server:
cd /opt/containers/nextcloud-hpbe/
docker compose up -d
4. Funktion testen
Wartet nun eine Minute. Um zu verifizieren, ob der Container korrekt läuft, gebt ihr Folgendes ein:
docker compose ps
Dort solltet ihr nun Folgendes sehen:
Wichtig ist, dass bei STATUS „Up“ und „healthy“ steht. Anschließend prüfen wir die Erreichbarkeit. Gebt dazu Folgendes ein:
curl https://signal.euredomain.de/api/v1/welcome
Hier müsst ihr die Domain auf eure Domain abändern. Ihr solltet dann solch eine Antwort bekommen:
{"nextcloud-spreed-signaling":"Welcome","version":"2.1.1~docker"}
Jetzt haben wir sichergestellt, dass der HPBE-Dienst von außen erreichbar ist.
5. Nextcloud-Talk-App installieren
Meldet euch nun als Administrator auf eurer Nextcloud-Instanz an. Anschließend klickt ihr auf „Apps“.
Gebt hier nun oben links ins Suchfeld „talk“ ein. Hier solltet ihr nun die „Talk“-App finden und mit einem Klick installieren können. Es kann auch sein, dass diese App bereits bei euch installiert ist. In dem Fall müsst ihr sie nicht neu installieren.
Abschließend prüft ihr noch, ob HPBE eure Nextcloud-Instanz erreichen kann. Ändert bei nachfolgendem Befehl eure Domain entsprechend ab:
docker exec nextcloud-hpbe wget -qO- --header "OCS-APIRequest: true" --header "Accept: application/json" https://nextcloud.euredomain.de/ocs/v2.php/cloud/capabilities | grep -o '"hello-v2-token-key":"[^"]\{40\}'
Wenn alles korrekt ist, solltet ihr folgende Ausgabe sehen:
Sollte der Befehl nichts ausgeben, so brecht ihn mittels STRG+C ab. In diesem Fall prüft bitte in Kapitel 2.1, dass ihr die Ports korrekt freigegeben habt.
6. Nextcloud-Talk-App mit HPBE verbinden
In diesem Schritt verbinden wir die Nextcloud-Instanz mit unserer zuvor erstellten Nextcloud-HPBE-Instanz. Dazu klickt ihr auf euer Profil und wählt „Administrationseinstellungen“ aus:
Scrollt nun auf der linken Seite nach unten, bis ihr „Talk“ findet:
Jetzt solltet ihr Folgendes sehen:
Klickt nun auf „Hochleistungs-Backend-Server hinzufügen“. Anschließend erscheint folgender Dialog:
Diese Daten lassen wir uns auf unserem Server anzeigen. Dies hilft auch Tippfehler zu vermeiden, da ihr sie dann einfach kopieren könnt:
cat /opt/containers/nextcloud-hpbe/.env
Hier seht ihr nun Folgendes. Die beiden wichtigen Parameter habe ich markiert:
Ihr braucht Folgendes:
- Hochleistungs-Backend-URL = https:// + TALK_DOMAIN
- Geteiltes Geheimnis = SIGNALING_SECRET
Achtet bei der Domain darauf, dass ihr vor der Domain noch „https://“ schreibt. Anschließend sollte es so bei euch aussehen, wenn alles funktioniert hat:
Ladet die Seite nach der Eingabe mittels F5 neu, damit alles korrekt angezeigt wird. Bei mir sah es davor so aus. Den Fehler konnte ich mit F5 lösen.
Solltet ihr dieselbe Meldung wie ich erhalten: „Laufende Version: 2.1.1~docker; Der Server …“ ist dies kein Problem. Die Talk-App kennt bereits ein weiteres Feature „changed-users“, welches der Server aktuell noch nicht bereitstellt. Alles funktioniert trotzdem korrekt.
Scrollt nun nach unten, bis ihr den STUN-Server seht:
Ersetzt den bisherigen Eintrag durch Folgendes:
signal.euredomain.de:3478
Bei mir sieht es dann so aus:
Direkt darunter findet ihr den TURN-Server:
Klickt auf „Einen neuen TURN-Server hinzufügen“, damit ihr Folgendes seht:
Lasst euch hier euer TURN-Secret auf eurem Server anzeigen:
cat /opt/containers/nextcloud-hpbe/.env
Ausgabe:
Bei TURN-SERVER-URL gebt ihr Folgendes ein: signal.euredomain.de:3478
Das Secret entnehmt ihr der .env-Datei und fügt es entsprechend ein. So sieht es bei mir aus:
Ihr solltet ebenfalls einen grünen Haken am Ende sehen. Dies heißt, dass alles korrekt ist.
Nun habt ihr Nextcloud Talk zusammen mit eurem HPBE erfolgreich eingerichtet.
7. Videokonferenz-Test starten
Zum Testen startet ihr eine Videokonferenz. Klickt dazu im Dashboard auf „Talk“:
In Talk wählt ihr „Neue Unterhaltung“ aus:
Gebt hier einen Namen ein:
Scrollt nach unten und erlaubt Gästen per Link teilzunehmen:
Erstellt nun die Konferenz. Öffnet anschließend den angezeigten Link an verschiedenen Geräten und tretet der Konferenz bei. Anschließend könnt ihr das Video starten. Wenn ihr euch dann gegenseitig hört bzw. seht, funktioniert alles korrekt:
8. Nextcloud HPBE updaten
Durch den Einsatz von Docker könnt ihr das Update sehr schnell erledigen. Es reicht, wenn ihr folgende Befehle eingebt:
cd /opt/containers/nextcloud-hpbe
docker compose down
docker compose pull
docker compose up -d