Coturn als Docker Container auf Synology NAS

Jaytie

Benutzer
Mitglied seit
02. Jul 2013
Beiträge
95
Punkte für Reaktionen
6
Punkte
8
Hi zusammen,

seit einiger Zeit hab ich auf meinem Synology NAS einen Matrix Synapse Server zusammen mit einer Postgresql Datenbank laufen. Das ganze sitzt hinter dem in DSM integrierten ReverseProxy. Funktioniert nach ordentlich Einarbeitung mittlerweile wunderbar. (Hatte zuvor weder mit Linux noch mit Docker viel gearbeitet)
Als Client wird Riot verwendet.

Das Einzige was noch fehlt wäre jetzt Audio- und Videochat. Im internen Netz klappt das schon. Nach außen natürlich nicht. Dafür hab ich coturn , ebenfalls als Docker Container laufen.

Für coturn hab ich eine eigene Subdomain angelegt, welche via DynDNS die externe IP bekommt.

Hier komme ich allerdings nicht weiter.

Mein Plan war eigentlich auch coturn hinter den Reverse Proxy zu setzen und so gleich ein Let's Encrypt Zertifikat über DSM zu beziehen. Der Reverseproxy soll dann turn.beispiel.de:443 auf localhost:3478 bzw. 5349 leiten.
Scheinbar ist es dazu aber nötig den nginx mit "stream" zu konfigurieren, was mit Bordmitteln nicht geht. https://github.com/coturn/coturn/issues/43
Wenn ich es von Hand mache, weiß ich nicht ob das erhalten bleibt.

Alternativ könnte man coturn auch im network mode 'host' direkt auf der DSM laufen lassen, aber auch dann weiß ich nicht, wie das mit dem Zertifikat läuft. (https://github.com/instrumentisto/coturn-docker-image/issues/3 )

Grundsätzlich weiß ich nicht, wie und ob ich coturn hinter einem NAT zum Laufen bekomme. (Alles hängt hinter einer Fritzbox)

Hat das hier jemand Laufen oder kann einige Tipps zur Konfiguration geben?

Ich hab mich grundsätzlich daran gehalten: https://github.com/matrix-org/synapse/blob/master/docs/turn-howto.md

Über Tipps würde ich mich freuen :)

Grüße
Jaytie
 

Chainlesslove

Benutzer
Mitglied seit
02. Okt 2020
Beiträge
1
Punkte für Reaktionen
0
Punkte
1
Hallo Jaytie
Hast Du schlussendlich hinbekommen??
Docker mag es scheinbar ja nicht wenn der portrange zu gross ist...
Funktioniert der turn mit einer anderen (webrtc-) Anwendung korrekt??

gruss
 

Jaytie

Benutzer
Mitglied seit
02. Jul 2013
Beiträge
95
Punkte für Reaktionen
6
Punkte
8
Hi Chainlesslove,
Hast Du schlussendlich hinbekommen??
leider nein, ich musste das Thema erst mal auf Eis legen.
Das mit der Portrange kann man evtl umgehen, indem man das Ganze im Hostnetz außerhalb von Docker betreibt. Das wollte ich aber eigentlich nur im Notfall machen.
Ansonsten hab ich nicht weiter rumexperimentiert. Falls jemand bei dem Thema Coturn in Docker auf einem Synology NAS weiterkommt, würde ich mich auch über Hinweise freuen.
Video und Audiochat ist das einzige, was mir auf meinem Matrixserver fehlt :)
 

DIY

Benutzer
Mitglied seit
05. Dez 2020
Beiträge
98
Punkte für Reaktionen
41
Punkte
68
Moin Zusammen,

ich grabe den Thread mal aus ... bei mir läufts in Zusammenspiel als STUN mit einer Jitsi Instanz.

Wie ... einfach ausgeführt :)
- Docker Image intrumentisto/coturn
- Nach dem Start Ports auf 3478 / 3478 angepasst
- Netzwerktyp 'brigde' (nicht im Jitsi Netzwerk)
- Firewall für TCP/UDP im DSM und Router angepasst

dann noch im Container jitsi_jvb angepasst - fertig.

Ob noch unbedingt notwendige Features nicht umgesetzt wurden bzw. die Sicherheit so gegeben ist kann ich nicht beurteilen - Vorschläge willkommen.
 

Anhänge

  • Coturn-Docker-Jitsi.jpg
    Coturn-Docker-Jitsi.jpg
    92,6 KB · Aufrufe: 29
Zuletzt bearbeitet:

blurrrr

Benutzer
Sehr erfahren
Mitglied seit
23. Jan 2012
Beiträge
6.204
Punkte für Reaktionen
1.104
Punkte
248
Wie sieht denn die Bandbreitennutzung bei Dir so aus (pro User)?
 

DIY

Benutzer
Mitglied seit
05. Dez 2020
Beiträge
98
Punkte für Reaktionen
41
Punkte
68
Bandbreite - der war gut, serverseitig gibt es einem DSL 50/10 Anschluss ;-)

Mein Coturn ist als 'stun-only' konfiguriert, wenn ich mich nicht irre sollte es keinen nennenswerten Traffic via Coturn geben.

Zur Bandbreite bei Jitsi (p2p) - also nur 2 Nutzern und mit Gegenstelle am DSL 25/5 Anschluß per WLAN AC schauts so aus:

Jitsi-p2p-DSL-DSL.jpg
 
Zuletzt bearbeitet:

blurrrr

Benutzer
Sehr erfahren
Mitglied seit
23. Jan 2012
Beiträge
6.204
Punkte für Reaktionen
1.104
Punkte
248
Achso, ok, hatte an das "komplette" Paket gedacht (wie z.B: hier) und bin auch von mehr Usern ausgegangen, trotzdem vielen Dank für die Info und den Screenshot! :)
 

DIY

Benutzer
Mitglied seit
05. Dez 2020
Beiträge
98
Punkte für Reaktionen
41
Punkte
68
OK, dann also kurz ausprobiert.

Kurz gefasst:
Docker BRIDGE ... STUN mit Port 3478 sonst nix
Docker HOST ... STUN & TURN mit Port 3478 & 5349

Eventuell erzählt mir eine(r) wie das mittels DSM im Reverseproxy oder sonst wie über Port 443 realisiert werden kann
 

Anhänge

  • Docker-Host-Coturn-Test-TrickleICE.jpg
    Docker-Host-Coturn-Test-TrickleICE.jpg
    99,4 KB · Aufrufe: 15
  • Docker-Host-Coturn-Test-Troubleshooter.jpg
    Docker-Host-Coturn-Test-Troubleshooter.jpg
    253,3 KB · Aufrufe: 14

Jaytie

Benutzer
Mitglied seit
02. Jul 2013
Beiträge
95
Punkte für Reaktionen
6
Punkte
8
@DIY Danke für dein Feedback! Interessant, dass das bei dir so problemlos gelaufen ist. Will das Ganze eigentlich immer noch umsetzen. Bin nur gerade etwas raus und komme nicht dazu. Du hast mir aber auf jeden Fall wieder Mut gemacht, es nochmal anzugehen.
 

DIY

Benutzer
Mitglied seit
05. Dez 2020
Beiträge
98
Punkte für Reaktionen
41
Punkte
68
Update...
...nach einigem gefrickel läufts - oder besser krabbelts - auch mit Jitsi-Meet.

Jitsi-Turn-Docker.jpg
Testmeeting p2p erfolgreich bei clientseitig gesperrtem UDP10000 Port im Router
 

DIY

Benutzer
Mitglied seit
05. Dez 2020
Beiträge
98
Punkte für Reaktionen
41
Punkte
68
Update zum Update...
zufrüh gefreut und dazu noch zu dumm angestellt - mit Jitsi läufts (noch) nicht - sorry.

Liebe Mods - mein Beitrag #10 sollte gelöscht werden.
 

DIY

Benutzer
Mitglied seit
05. Dez 2020
Beiträge
98
Punkte für Reaktionen
41
Punkte
68
Geschafft - es läuft zumindest bei 2 Teilnehmern.

Kurz gefasst ist das wesentliche Problem ein valides Zertifikat für den Docker/Coturn-Intrumentisto Container zu generieren, sonst wird die Verbindung mit '...TLS/TCP socket buffer operation error (callback)...' stets beendet.

Anpassungen nötig an:
- jitsi_web - config.js oder über custom-config.js
- jitsi_prosody - jitsi-meet.cfg.lua

Jitsi-Turn-Docker-Working.jpg
 
Zuletzt bearbeitet:


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat