Nextcloud/Talk/HPB: Unterschied zwischen den Versionen
Zeile 5: | Zeile 5: | ||
== Janus WebRTC gateway == | == Janus WebRTC gateway == | ||
siehe '''[[Nextcloud:Talk:HPB:Janus]]''' | siehe '''[[Nextcloud:Talk:HPB:Janus]]''' | ||
Version vom 20. April 2022, 10:30 Uhr
Nextcloud Talk High Performance Backend
Beschreibung
Janus WebRTC gateway
siehe Nextcloud:Talk:HPB:Janus
NATS messaging server
Der NATS-Server ermöglicht es Anwendungen und Diensten Daten auszutauschen, die in Nachrichten unterteilt sind. Clients stellen über eine URL eine Verbindung zum NATS-Server her und können anschließend Nachrichten zu einem bestimmten Betreff abonnieren oder veröffentlichen.
- Weitere Informationen
siehe Nextcloud:Talk:HPB:NATS
Signaling-Server
Der Signaling-Server ermöglicht Clients, die eine direkte Verbindung zueinander aufbauen wollen, den Austausch von Informationen, die dies gewährleisten. Möchte sich ein Client A mit einem Client B verbinden, signalisiert er dies dem Signaling-Server. Sollte Client B der Verbindungsanfrage zustimmen, übermittelt dieser seine Verbindungsinformationen an den Signaling-Server, der diese an Client A weiterreicht. Daraufhin erfolgt der direkte Verbindungsaufbau zwischen den Clients A und B.
- Weitere Informationen
Signaling Server
siehe Nextcloud:Talk:HPB:Signaling-Server
Installation
Vorbereitung
Schlüssel (keys) erstellen
- <api-Key> für Janus
$ openssl rand -base64 16
- Hash-Key
$ openssl rand -hex 16
- Block-Key
$ openssl rand -hex 16
- Secret Key für die Nextcloud
$ openssl rand -hex 16
- openssl
- Option rand Pseudozufallszeichenketten einer bestimmten Kodierung und der angegebenen Länge erzeugt werden.
- Option base64
- wird eine Zeichenkette aus Zahlen, Groß- & Kleinbuchstaben, sowie den Zeichen '+' und '/' generiert
- Option hex eine Zeichenkette aus Hexadezimalzahlen erzeugt wird.
Server-Daten
Nextcloud-Server: cloud.foxtom.de TURN-Server: cloud.foxtom.de:5349 Signaling Server: signaling.foxtom.de
Konfiguration
Dateien
Anwendungen
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
Projekt-Homepage
Links
Siehe auch
Weblinks
- https://github.com/strukturag/nextcloud-spreed-signaling
- https://de.wikipedia.org/wiki/WebRTC
- https://decatec.de/home-server/nextcloud-talk-mit-eigenem-signaling-server-high-performance-backend/
- https://decatec.de/home-server/nextcloud-auf-ubuntu-server-20-04-lts-mit-nginx-mariadb-php-lets-encrypt-redis-und-fail2ban/
- https://decatec.de/home-server/nextcloud-talk-mit-eigenem-turn-server-coturn/
- https://decatec.de/linux/lets-encrypt-zertifikate-mit-acme-sh-und-nginx/
- https://decatec.de/home-server/rsa-und-ecdsa-zertifikate-mit-nginx-hybrid-loesung/
- https://decatec.de/home-server/tlsv1-3-unter-ubuntu-server-18-04-lts-mit-nginx/
- https://decatec.de/home-server/docker-auf-ubuntu-server/
Einzelnachweise
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5
Firewall konfigurieren
$ sudo apt install ufw
$ sudo ufw allow http $ sudo ufw allow https $ sudo ufw allow ssh $ sudo ufw allow 5349/tcp $ sudo ufw allow 5349/udp
$ sudo ufw enable
$ sudo ufw status Status: active To Action From -- ------ ---- 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere 22/tcp ALLOW Anywhere 5349/tcp ALLOW Anywhere 5349/udp ALLOW Anywhere 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6) 22/tcp (v6) ALLOW Anywhere (v6) 5349/tcp (v6) ALLOW Anywhere (v6) 5349/udp (v6) ALLOW Anywhere (v6)
Einbinden in Nextcloud Talk
- Dies geschieht unter Einstellungen > Talk.
- Ganz unten wird nun ein Signaling Server mit dem Plus-Zeichen hinzugefügt.
- Die Domain lautet hierfür https://signaling.meinedomain.de/standalone-signaling.
- Unter Gemeinsames Geheimnis wird nun der Nextcloud Secret Key hinterlegt, den wir ganz am Anfang erzeugt haben:
Hinterlegen des Signaling Servers in der Nextcloud Talk Konfiguration
Die Option SSL Zertifikat überprüfen sollte hier aktiviert werden, wenn der Signaling Server über ein valides Zertifikat verfügt (zum Beispiel Let’s Encrypt).
Quelle: https://nichteinschalten.de/signalisierungsserver-fuer-nextcloud-aufsetzen-how-to/
netstat -tulpen | grep 8080
http://nats.io/documentation/tutorials/gnatsd-install/
https://github.com/meetecho/janus-gateway) can be used to act as a WebRTC gateway. See the documentation of Janus on how to configure and run the server. At least the VideoRoom plugin and the websocket transport of Janus must be enabled.
The signaling server uses the VideoRoom plugin of Janus to manage sessions. All gateway details are hidden from the clients, all messages are sent through the signaling server. Only WebRTC media is exchanged directly between the gateway and the clients.
Edit the server.conf and enter the URL to the websocket endpoint of Janus in the section [mcu] and key url. During startup, the signaling server will connect to Janus and log information of the gateway.
The maximum bandwidth per publishing stream can also be configured in the section [mcu], see properties maxstreambitrate and maxscreenbitrate.
Schlüssel für den TURN-Server
- Talk-Einstellungen der Nextcloud
Sofern bereits ein TURN-Server installiert ist, kann der benötigte Schlüssel im Administrator-Bereich der Nextcloud ausgelesen werden: Einstellungen >> Talk.
Über den Link: https://cloud.foxtom.de/settings/admin/talk gelangt man direkt zu den Einstellungen. Der Schlüssel findet sich auch in der Datei /etc/turnserver.conf (static-auth-secret=<Schlüssel>).