Nextcloud/Talk/HPB: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 5: Zeile 5:
{| class="wikitable sortable"  
{| class="wikitable sortable"  
|-  
|-  
! Aufgabe !! Komponenten !! Link !! Beschreibung
! Komponente !! Aufgabe !! !! Link !! Beschreibung
|-  
|-  
| WebRTC Gateway || Janus  || [[Nextcloud:Talk:HPB:Janus]] ||  
| Janus || WebRTC Gateway || [[Nextcloud:Talk:HPB:Janus]] ||  
|-   
|-   
| Messaging Server || NATS || [[Nextcloud:Talk:HPB:NATS]] || NATS 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.  
|NATS  ||  Messaging Server || [[Nextcloud:Talk:HPB:NATS]] || NATS 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.  
|-   
|-   
| Signaling-Servern || head  || [[Nextcloud:Talk:HPB:Signaling-Server]] || Der Signaling-Server (https://github.com/strukturag/nextcloud-spreed-signaling) 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.
| Signaling-Servern || Signaling-Servern || [[Nextcloud:Talk:HPB:Signaling-Server]] || Der Signaling-Server (https://github.com/strukturag/nextcloud-spreed-signaling) 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.
|}
|}



Version vom 20. April 2022, 11:15 Uhr

Nextcloud Talk High Performance Backend

Beschreibung

Komponenten

Komponente Aufgabe Link Beschreibung
Janus WebRTC Gateway Nextcloud:Talk:HPB:Janus
NATS Messaging Server Nextcloud:Talk:HPB:NATS NATS 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.
Signaling-Servern Signaling-Servern Nextcloud:Talk:HPB:Signaling-Server Der Signaling-Server (https://github.com/strukturag/nextcloud-spreed-signaling) 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.

Installation

Server-Daten

Nextcloud-Server: cloud.foxtom.de
TURN-Server:      cloud.foxtom.de:5349
Signaling Server: signaling.foxtom.de


Konfiguration

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.

Einbinden in Nextcloud Talk

siehe Nextcloud:Talk:HPB:Einbinden in Nextcloud Talk

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)

Dateien

Anwendungen

Sicherheit

Dokumentation

Projekt-Homepage

Links

Siehe auch

Weblinks

  1. https://github.com/strukturag/nextcloud-spreed-signaling
  2. https://de.wikipedia.org/wiki/WebRTC
  3. https://decatec.de/home-server/nextcloud-talk-mit-eigenem-signaling-server-high-performance-backend/
  4. https://decatec.de/home-server/nextcloud-auf-ubuntu-server-20-04-lts-mit-nginx-mariadb-php-lets-encrypt-redis-und-fail2ban/
  5. https://decatec.de/home-server/nextcloud-talk-mit-eigenem-turn-server-coturn/
  6. https://decatec.de/linux/lets-encrypt-zertifikate-mit-acme-sh-und-nginx/
  7. https://decatec.de/home-server/rsa-und-ecdsa-zertifikate-mit-nginx-hybrid-loesung/
  8. https://decatec.de/home-server/tlsv1-3-unter-ubuntu-server-18-04-lts-mit-nginx/
  9. https://decatec.de/home-server/docker-auf-ubuntu-server/

Einzelnachweise


Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5