Zum Inhalt springen

Nextcloud/Talk/HPB/Signaling-Server

Aus Foxwiki

topic kurze Beschreibung

Beschreibung

  • 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

Signaling Server

Zur Installation des Servers wird das Paket golang-go benötigt, welches über die Paketverwaltung installiert werden kann:

apt install golang-go

Installation

Die benötigten Quellpakete werden über GitHub bezogen und hier im Verzeichnis /usr/src abgelegt:

cd /usr/src
git clone https://github.com/strukturag/nextcloud-spreed-signaling.git
cd /usr/src/nextcloud-spreed-signaling

Der anschließende Befehl make build erstellt das Programm bin/signaling

make build

Syntax

Parameter

Optionen

Konfiguration

Signaling Server als Systemdienst

  • Damit der Signaling Server nicht jedesmal über die Konsole im Vordergrund gestartet werden muss, sollte dieser als Systemdienst installiert werden.
  • Dazu stoppen wir erst einmal die Konsolen-Instanz.
  • Zunächst legen wir uns einen speziellen User für den Signaling Server an:
groupadd signaling
useradd --system --gid signaling --shell /usr/sbin/nologin --comment "Standalone signaling server for Nextcloud Talk." signaling
  • Anschließend wird die Konfigurationsdatei des Servers noch an einen anderen Ort kopiert (damit diese zum Beispiel bei einem Update nicht überschrieben wird).
  • Ebenso werden die entsprechenden Berechtigungen gesetzt:
mkdir -p /etc/signaling
cp server.conf /etc/signaling/server.conf
chmod 600 /etc/signaling/server.conf
chown signaling: /etc/signaling/server.conf
  • Nun editieren wir noch die Datei für den Systemdienst:
vi dist/init/systemd/signaling.service

[Unit]
Description=Nextcloud Talk signaling server
​
[Service]
ExecStart=/etc/nextcloud-spreed-signaling/bin/signaling --config /etc/signaling/server.conf
User=signaling
Group=signaling
Restart=on-failure​
[Install] 
WantedBy=multi-user.target

Der Dienst wird im System registriert und aktiviert:

cp dist/init/systemd/signaling.service /etc/systemd/system/signaling.service
systemctl enable signaling.service systemctl start signaling.service

Anschließend wird der Signaling Server bei jedem Systemstart gestartet.

Anwendungen

Sicherheit

Dokumentation

RFC

Man-Pages

Info-Pages

Projekt-Homepage

Links

Siehe auch

Weblinks

Einzelnachweise


Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5


Signaling Server

Zur Installation des Servers wird das Paket golang-go benötigt, welches über die Paketverwaltung installiert werden kann:

apt install golang-go

Installation

Die benötigten Quellpakete werden über GitHub bezogen und hier im Verzeichnis /usr/src abgelegt:

cd /usr/src
git clone https://github.com/strukturag/nextcloud-spreed-signaling.git
cd /usr/src/nextcloud-spreed-signaling

Der anschließende Befehl make build erstellt das Programm bin/signaling

make build

Konfiguration

Beispielkonfiguration

/usr/src/nextcloud-spreed-signaling/server.conf.in

Diese Datei wird nach /etc/signaling/server.conf kopiert:

mkdir -p /etc/signaling
cd /usr/src/nextcloud-spreed-signaling
cp server.conf.in /etc/signaling/server.conf

Um den Signaling-Server als Systemdienst installieren zu können, wird ein Benutzer und eine Gruppe angelegt:

groupadd signaling
useradd --system --gid signaling --shell /usr/sbin/nologin --comment "Standalone signaling server for Nextcloud Talk." signaling

und die Berechtigungen angepasst:

chmod 600 /etc/signaling/server.conf
chown signaling: /etc/signaling/server.conf

Entsprechend den lokalen Begebenheiten wir diese Datei wie folgt editiert:

listen = 127.0.0.1:8080
...
[sessions]
hashkey = <Hash-Key>
...
blockkey = <Block-Key>
... 
[backend]
backends = backend1

[backend1]
url = https://cloud.foxtom.de
​...
secret = <Nextcloud Secret Key>
...
[nats]
url = nats://localhost:4222
...
[mcu]
type = janus
...
url = ws://127.0.0.1:8188
...
[turn]
apikey = <api-key>
secret = <TURN-Server-Key>
servers = turn:cloud.foxtom.de:5349?transport=udp,turn:cloud.foxtom.de:5349?transport=tcp
...

Zum automatischen Starten des Signaling-Servers als Systemdienst werden die folgenden Befehle ausgeführt:

cp dist/init/systemd/signaling.service /etc/systemd/system/signaling.service
systemctl enable signaling.service
systemctl start signaling.service