Eine zweite JVB zu Jitsi Meet hinzufügen (Docker)

In der vorherhigen Anleitung habe ich gezeigt wie meet.adminforge.de angepasst wurde.

Tutorial: Jitsi Meet Docker Instanz anpassen
Tutorial: Eigene Jitsi Meet Instanz installieren (Docker / Ubuntu / Nginx)
Was ist Jitsi Meet?: Videokonferenzen mit Jitsi Meet
Meeting starten: https://meet.adminforge.de

Nun möchte ich euch zeigen wie eine zweite Jitsi-Videobridge (JVB) eurer bestehenden Jitsi Meet Instanz hinzugefügt werden kann. Dies ermöglicht euch mehr gleichzeitige Teilnehmer auf eurer Jitsi Meet Instanz zu haben.

Vorteile:

  • automatische Lastverteilung der Videostreams auf die einzelnen Videobridges (Round Robin)
  • in die Breite skalierbare Jitsi Meet Instanz
  • ein Zutrittspunkt für die Teilnehmer wie bsp. meet.adminforge.de
  • Erweiterung durch weitere JVB’s möglich

Was wird benötigt?

  • Eine laufenden Docker Jitsi Meet Instanz (siehe Anleitung)
  • 2 Server mit gleicher Ausstattung an CPU Kernen und Bandbreite
  • Optional: Die beiden Server sind über ein internes Netzwerk verbunden

Offene Ports in der Firewall:

  • 4443/tcp
  • 10000/udp

Punkt 1: Docker Swarm einrichten

Docker liefert ein Orchestrierungswerkzeug namens Swarm mit. Wir benutzen Swarm nur um ein Overlay Netzwerk zwischen Server A und B herzustellen. Die Docker Container starten wir weiterhin über docker-compose. Das hält uns weiterhin nahe am originalen Jitsi Meet Docker.

Im Testsetup habe ich 2 Debian Linux Server mit einem internen Netzwerk 10.10.0.0/16. Es funktioniert aber auch über das öffentliche Internet.

Unseren Server A richten wir als Swarm Manager ein.

Auf unserem zweiten Server (Server B) installieren wir docker und docker-compose nach Anleitung: Eigene Jitsi Meet Instanz installieren (Docker / Ubuntu / Nginx)
Es reicht der Anleitung bis Punkt 2 zu folgen.

Server B wird dann als Worker Node hinzugefügt.

Nun überprüfen wir ob Server A beide Nodes korrekt sieht.

Punkt 2: Overlay Netzwerk anlegen

Auf der Manager Node (Server A) erstellen wir unser Jitsi Meet Overlay Netzwerk.

Punkt 3: restart.sh auf Server A anpassen

Wir fügen die markierten Zeilen unserem restart.sh Script hinzu.

  1. Es wird geprüft ob das Overlay Netzwerk existiert, falls nein wird es erstellt
  2. Es wird der Netzwerkname ausgetauscht. Docker Swarm erlaubt keine Punkte („.“) im Overlay Netzwerknamen
  3. Das Netzwerk muss auf „external“ gestellt werden, ansonsten kann docker-compose nicht das Overlay Netzwerk von Swarm nutzen

Wir starten Jitsi Meet auf Server A mit dem angepassten Script neu.

Punkt 4: Zweite JVB auf Server B einrichten

Wichtig ist ein identisches JVB_AUTH_PASSWORD auf allen JVB Instanzen zu verwenden. Wir nutzen das Passwort von Server A und spielen es auf Server B ein.

Server A:

Server B:

Wir erstellen docker-compose-jvb.yml um nur die Jitsi Videobridge (JVB) auf Server B zu starten.

Dazu legen wir ein passendes restart.sh Script an.

  1. Als erstes wird ein Dummy Container gestartet, da docker-compose aktuell kein Overlay Netzwerk auf den Worker Nodes anlegen kann
  2. Danach wird der JVB Container gestartet

Punkt 5: Zweite JVB starten

Zuerst überwachen wir das Logfile auf Server A.

Dann starten wir auf Server B den JVB Container.
WICHTIG: Es muss immer zuerst die Jitsi Meet Master Instanz (auf Server A) gestartet werden bevor eine JVB Instanz joinen kann!

Im Log sollte nun diese Zeile zu sehen sein.

Fertig! Eine zweite JVB steht eurer Jitsi Meet Instanz nun zur Verfügung.

Als nächstes: Jitsi Meet Grafana Statistiken (Docker)

Euer adminForge Team

UnterstützenDas Betreiben der Dienste, Webseite und Server machen wir gerne, kostet aber leider auch Geld.
Unterstütze unsere Arbeit mit einer Spende.
Dominion

Dominion

Linux Systemadministrator

Das könnte Dich auch interessieren …

10 Antworten

  1. Avatar 0x02 sagt:

    Vielen Dank für die Anleitung. Ich habe noch eine Verständnisfrage. Müsste Pkt. 4 nicht vor Pkt. 1 erfolgen? Da auf Server 2 noch kein Docker bzw. Docker-compose läuft, dürfte der Worker noch nicht aktiviert werden können oder habe ich einen Denkfehler?

    • Dominion Dominion sagt:

      Die Punkte 1-3 spielen sich doch alle auf Server A ab, dort sollte ja bereits Jitsi Meet Docker laufen. Erst in Punkt 4 wird begonnen auf Server B Docker zu installieren und dann die zweite JVB.

  2. Avatar 0x02 sagt:

    Hallo Dominion,

    Unter Punkt 1 soll doch der Worker (Test2 – Server B) dem Swarm hinzugefügt werden?

  3. Avatar Tobias Kern sagt:

    Hi Dominion,

    wann habt ihr geplant:

    Als nächstes: Tutorial über die Grafana Statistiken stats.adminforge.de

    Euer adminForge Team

    Danke für eure super Hilfe – Jitsi Server läuft wunderbar im Docker nach eurer Anleitung

  4. Avatar Dirk sagt:

    Hallo Dominion,
    Danke für die Anleitung.

    Vllt. sollte in die Anleitung etwas zu öffnenden Ports, falls man einen Paketfilter verwendet.

    Fürn ufw:

    ufw allow 2377/tcp
    ufw allow 4789/udp
    ufw allow 7946/tcp
    ufw allow 7946/udp

    VG
    Dirk

Schreibe einen Kommentar

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