Jitsi Meet – eigener Videokonferenz Server mit Docker

Version: 25.09.16

Videokonferenzen gehören heute zum Alltag – ob im Homeoffice, bei Online-Kursen oder im privaten Austausch. Mit Jitsi Meet haben Sie die Möglichkeit, eine komplett eigene Videokonferenz-Plattform zu betreiben – unabhängig von externen Diensten und mit voller Kontrolle über Daten und Funktionen. 🛡️

Ein eigener Jitsi-Server eignet sich z. B. für:

  • 📚 Schulungen und Online-Kurse
  • 👥 Team-Meetings im Unternehmen
  • 🔒 Sichere, private Gespräche ohne Drittanbieter

Damit Sie erfolgreich starten können, sollten Sie ein paar Grundkenntnisse und Voraussetzungen mitbringen:

  • 🐧 Linux-Basics (Server-Administration, SSH, Pakete installieren)
  • 🐳 Erfahrung im Umgang mit Docker und Docker Compose (bereits installiert)
  • 🌐 Grundwissen über Netzwerke und Domains (DNS, Ports, SSL-Zertifikate)
  • ⚠️ !! eigener Turn / Coturn Server um Verbindungen von außen annehmen zu können! Grundvoraussetzung siehe Punkt 1 !! 🔥🔥

In diesem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie Ihren eigenen Jitsi Meet Server einrichten – von den Voraussetzungen bis hin zur lauffähigen Videokonferenz-Plattform.

Wir bedienen uns hierzu von einigen Elementen, die auf der offiziellen Jitsi Meet Konfigurationsseite entnommen werden können:

https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker

1. Turn / Coturn Server

🔥 Jitsi Meet setzt einen funktionierenden turn / coturn Server voraus, damit externe Verbindungen über WebRTC angenommen werden können.‼️Portfreigabe von Coturn (UDP Port 3478, 40000 – 41000 und TCP 3478 sowie bei TLS noch 5349) müssen in der Firewall / VPS freigegeben sein.

Coturn wird auf dem Linux Server wie folgt installiert:

Anschließend den entsprechenden Service aktivieren:

Dann „nano etc/turnserver.conf“:

Berechtigungen für die Datenbank (userdb) vergeben:

Danach den Dienst starten:

Jetzt müssen wir noch die User in Coturn vergeben, insbesondere einen User den Jitsi Meet in der „.env Config Datei“ später benutzen wird.

Hiermit lassen sich die erstellten Coturn User in der DB anzeigen:

Solche Meldungen im Terminal können dabei ignoriert werden (es läuft alles einwandfrei):

Getestet werden kann der eigene Turnserver mit folgendem Befehl:

Wenn so etwas angezeigt wird, hat alles funktioniert:

Fertig! Nicht vergessen in der UFW-Firewall oder VPS-Firewall die entsprechenden Ports oben freizugeben!

2. Installation Jitsi Meet:

Wir loggen uns dazu auf unserem Server (Linux Ubuntu / VPS) ein und erstellen in unserem Projektordner einen neuen Ordner „jitsi“ und navigieren anschließend zu diesem.

Innerhalb des Jitsi Ordner führen wir folgenden Befehl aus:

Wir schauen uns dann in dem Ordner mit „ls“ an wie die Datei heißt, die wir heruntergeladen haben und führen dann folgenden Befehl aus:

3. Konfiguration:

Danach:

Mit dem cp env Befehl zu .env kopieren wir die Beispiel Konfigurationsdatei von Jitsi Meet zu unser eigenen .env Datei, in die nachher unsere Konfiguration ergänzt wird.

Jetzt müssen wir noch starke Passwörter für die .env Datei erstellen, die dann dort auch direkt eingetragen werden. Einfach folgenden Befehl in dem „jitsi“-Ordner ausführen:

Nun erstellen wir die restlichen Konfigurationsdateien:

Nachdem alle config-Dateien erstellt wurden, starten wir das Docker Projekt kurz um es danach wieder auszuschalten:

Nun schauen wir uns die .env Konfigurationsdatei genauer an und ergänzen entsprechende Einträge:

Folgender Inhalt sollte (angepasst!) in der .env Datei stehen, damit alles funktioniert:

Wir müssen jetzt noch entsprechende User vergeben, da wir Jitsi Meet so eingestellt haben, dass nicht einfach Jeder, der die URL kennt eine Videokonferenz einberufen kann.

Das Docker Projekt wird gestartet mit:

Nun wechseln wir in den „prosody“ Jitsi Container.

Anschließend können wir User (Konferenzleiter) mit folgendem Befehl erstellen:

Hinweis: Konferenzleiter können später dann z.B. Firmenaccounts sein, die gegen Gebühr vergeben werden können.

Um einen User wieder zu löschen, folgender Befehl:

Und um alle User anzuzeigen:

Wir verlassen den „prosody“-Container anschließend wieder mit:

4. Portfreigaben und NPM:

‼️ Jitsi Meet benötigt dringend noch den UDP Port 10000 zur Freigabe! ‼️(auch in der Firewall freigeben)

Bevor es in den NPM geht muss natürlich eine entsprechende Subdomain für unseren Videokonferenzserver bei dem Provider angelegt werden (DNS Eintrag mit Verweis auf die IP des Servers):

meeting.yourdomain.com

Im NPM (Nginx Proxy Manager) legen wir eine neue Domain (Proxy Host) an, zum Beispiel: meeting.yourdomain.com

Nach innen verweisen wir hierbei auf den HTTP Port 8000 und NPM kümmert sich um das SSL Zertifikat und die Verschlüsselung nach außen hin. Mit einem Klick auf „Save“ wird das Ganze gespeichert und die Konfiguration von unserem eigenen Jitsi Meet Server nach außen hin ist abgeschlossen.

5. Optional: eigenes „Branding“

Jetzt wollen wir noch ein individuelles „Branding“ vergeben, so dass auf der Startseite unserer „meeting.yourdomain.com“-URL nicht mehr „Jitsi Meet“ sondern z.B. „IT-Service-Commander“ steht:

Dazu muss eine entsprechende Sprachdatei gepatcht werden. Das kann man im Docker-Compose Container machen:

Nano-Editor installieren, da der Container diese nicht kennt:

Die Datei editieren:

Folgenden Auszug suchen und abändern:

Die Datei abspeichern und den Container neu starten:

Wenn man es allerdings dauerhaft lösen möchte muss man wie folgt vorgehen (bessere Variante):

In dem „jitsi“ Ordner (Docker Projektordner) folgende Datei anlegen:

Folgender Inhalt:

Auf dem Host die Verzeichnisstruktur anlegen:

Die Sprachdatei aus dem Container heraus ziehen:

Und die Datei auf dem Host bearbeiten (wie oben schon geschrieben die Passage mit Jitsi Meet abändern):

Zum Schluss noch einmal alles neu starten:

Fertig, das Branding sollte jetzt weg von Jitsi Meet sein und euer eigenes Branding enthalten.

6. Fertigstellung

Wir sind fertig und haben folgendes eingerichtet:

🔗 Coturn / Turnserver, um die Erreichbarkeit sicherzustellen (nicht nur interne Verbindungen, sondern auch externe)

🖥️ Jitsi Meet Server

🌐 TCP und UDP Ports in der Firewall freigegeben.

🏷️ Zugriff über eine Subdomain für unseren Jitsi Meet Server.

🔒 Im NPM Manager SSL-Zertifikate vergeben.

🎨 Optional: eigenes Branding eingerichtet.

Fertig – einsatzbereiter Jitsi Meet Server!


bc1pnks6qsyumceygnw760x6dthqzngm3pt5xtpkrh3n9ydm3e8ekgms7r4azlLightning: itsc@strike.mehttps://paypal.me/TomC777

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert