Einrichtung Jitsi Server

Aufgrund der aktuellen Corona-Kriese, entstand schnell der Plan, das ich einen Jitsi-Server aufsetzen möchte, um die Kommunikaiton für mich, aber auch anderen Leuten zu erleichtern. Da ich ja elles gerne mit Docker löse, war der Plan natürlich auch hier wieder existent. Einen Reverse-Proxy mit einer Let’s Encrypt Zertifizierungs-Routine besitze ich ja bereits, also einfach einen Container dran, und Fertig – Fast! 🙂

Glücklicherweise gibt es ja eine fertige Docker-Repo direkt von Jitsi. Also wie beschrieben dasn ganze mit einem Git Clone herunter laden, und die Einstellungen vornehmen.

Einrichtung

Grundsäzlich muss natürlich für die Gewünschte Domain ein A und am besten auch ein AAA Eintrag auf den Server bestehen. Hier gehe ich jetzt aber nicht weiter drauf ein.

Umgebungsvariablen (.env)

Als Erstes kopieren wir uns die env.example nach .env. Hier werden wir sämtliche Einstellungen für Jits vornehmen. Aber bevor wird damit starten, sollten wir sich Passwörter von Jitsi korrekt setzen. Dies geschieht durch das Ausführen von ./gen_passwords.sh.

Nun als editieren der .env Datei. Nur zur Info, nicht wundern falls ihr die .env Datei bei einem einfachen .ls nicht seht. Das liegt daran das Dateien welche mit einem Punkt anfangen, versteckte Datein sind. Versucht es mal mit einem ls -a. Nun also Los, wir öffnen die Datei .env mit einem Editor der Wahl, bei mir ist es VIM.

Hier finden wir eine ganze Menge an Konfigurationsmöglichkeiten. Starten wir mit CONFIG. Hier wird der Host-Seitige Pfad angegeben, indem sämtliche Daten gesichert werden. Ich habe mir angewöhnt hier den gleichen Pfad wie die docker-compose.yaml zu verwenden, damit ich anschließend alles gut in einem Zuge Backupen kann. Die Variablen HTTP_PORT sowie HTTPS_PORT habe ich gelöscht, da ich diese Einstellungen anschließend in der docker-compose.yaml vornehme. Der ParameterPUBLIC_URL sollte selbsterklärend sein, hier gebe ich die URL natürlich mit https:// an. Abschließend muss ich nur noch die DOCKER_HOST_ADDRESS angegeben werden, dies ist die IP-Adresse meines Servers.

Die Nachfolgende Let’s Encrypt-Configuration kann ebenfalls gelöscht werden, da ich dies ja über meinen Reverse-Proxy machen lasse. Die Etherpad-Intergration möchte ich gerne nutzen, daher gebe ich in der Variable ETHERPAD_URL_BASE die neue Domain meiner Etherpad-Instanz ein, diese werde ich auch nachher in der docker-compose.yaml anlegen.

Da ich die Benutzung des Servers auch für andere Freigeben möchte, schreibe ich ENABLE_AUTH auf 0. Das Einzige was nun noch fehlt, ist die JWT_APP_ID. Hier baue ich mir einfach einen Namen (ohne Punkte) aus meiner Domain zusammen. Somit bin ich hier auch eindeutig.

Docker-Compose(.yml)

Die Docker-Compose.yml wirkt vielleicht anfangs etwas abschreckend, im Großteil werden hier aber nur die Umgebungsvariablen der .env Datei übergeben. Man kann hier die in der .env Datei nicht mehr Existenten Initialisierungen auch heraus löschen, ich habe mir die Arbeit allerdings nicht gemacht. Den Block Ports habe ich jedoch komplett entfernt (bzw. auskommentiert). Zusätzlich musste ich noch die Umgebungsvariablen von Let’s Encrypt ergänzen. Diese sind die, die entsprechend der Dokumentation von docker-letsencrypt-nginx-proxy-companion definiert werden müssen.

- VIRTUAL_HOST=jitsi.example.com
- VIRTUAL_PORT=80
- LETSENCRYPT_HOST=jitsi.example.com
- LETSENCRYPT_EMAIL=error_lets_encrypt@example.com

Nun kopieren wir noch die Etherpad Konfiguration aus der etherpad.yml in den die docker-compose.yml. Theoretisch könnte man auch die beiden Instanzen starten, ich muss aber ohnehon noch Let’s Encrypt anpassen, also kann ich es auch gerade mit rüber nehmen, und ich habe alles zusammen.

    etherpad:
        image: jitsi/etherpad
        environment:
            - VIRTUAL_HOST=jitsi_ether.example.com
            - VIRTUAL_PORT=9001
            - LETSENCRYPT_HOST=jitsi_ether.example.com
            - LETSENCRYPT_EMAIL=error_lets_encrypt@example.com
        networks:
            meet.jitsi:
                aliases:
                    - etherpad.meet.jitsi

Und zum Abschluss nun noch das Netzwerk meet.jitsi dem externen Netzwerk meines Reverse-Proxys zuweisen.

networks:
    meet.jitsi:
      external:
        name: nginx-proxy

Und wir gehen Online

Naja, jetzt geht es eigentlich ganz schnell. Mit einem docker-compose up -d && docker-compose logs -f hab ich den Container gestartet, und gebe auch sofort die Logs aus. Ein Besuch der Domain zeigt mir nun auch die fertige Jitsi-Seite an.

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.