In dieser Anleitung zeige ich euch, wie ihr eure Jitsi Meet Docker Instanz einfach anpassen könnt.
Update
| 02.05.2021 | Leichte Anpassungen. Funktioniert nun mit der aktuellen Version stable-5765-1. |
| 16.02.2021 | Fehler bei Logoanpassung behoben. Neue Funktionen hinzugefügt. |
| 15.02.2021 | Angepasst an Version: stable-5390-3 |
| 03.01.2021 | Erstellung dieser Anleitung |
Alle Anpassungen bei Jitsi sind leider nicht dauerhaft. Dies bedeutet, dass ihr beim Start des Containers immer wieder die Anpassungen vornehmen müsst. Daher habe ich mir ein Skript geschrieben. Dies zeige ich euch später in diesem Artikel.
Zuerst zeige ich euch hier das Ergebnis meiner Anpassungen. So könnte es später bei euch aussehen.
Diese Anleitung funktioniert nur 1:1, wenn ihr meine Jitsi Anleitung genutzt habt.
1. Jitsi Logo anpassen
Ihr könnt sehr einfach das Logo anpassen. Dazu müsst ihr lediglich die docker-compose Datei anpassen.
nano /opt/containers/jitsi/docker-compose.yml
Hier fügt ihr folgendes hinzu:
- ./anpassungen/watermark.png:/usr/share/jitsi-meet/images/watermark.pngCode-Sprache: JavaScript (javascript)
So sollte es aussehen:
web:
image: jitsi/web:latest
restart: ${RESTART_POLICY}
...
volumes:
- ${CONFIG}/web:/config:Z
- ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts:Z
- ./anpassungen/watermark.png:/usr/share/jitsi-meet/images/watermark.png
Nun müssen wir noch das Verzeichnis “anpassungen” anlegen und mit einer Datei befüllen.
mkdir -p /opt/containers/jitsi/anpassungen
Datei downloaden und umbenennen. Ich lade hier als Beispiel eine Grafik von Wikipedia
cd /opt/containers/jitsi/anpassungen
wget https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/Free_logo.svg/200px-Free_logo.svg.png
mv 200px-Free_logo.svg.png watermark.pngCode-Sprache: JavaScript (javascript)
Bei Version stable-5390-3 müsst ihr noch folgende 2 Zeilen Code ausführen. Innerhalb der einzelnen Versionen wurde nämlich die zu erwartende Datei von der Endung “png” auf “svg” geändert.
sed -i "s#DEFAULT_LOGO_URL: 'images/watermark.svg',#DEFAULT_LOGO_URL: 'images/watermark.png',#" ~/.jitsi-meet-cfg/web/interface_config.js
sed -i "s#DEFAULT_WELCOME_PAGE_LOGO_URL: 'images/watermark.svg',#DEFAULT_WELCOME_PAGE_LOGO_URL: 'images/watermark.png',#" ~/.jitsi-meet-cfg/web/interface_config.jsCode-Sprache: JavaScript (javascript)
Nachdem ihr nun den Container neu gestartet habt wird euer Logo angezeigt.
Bitte achtet hier auf eure Version
2. Anpassungen per Konfigurationsdatei (Version stable-5142-4)
Nun kommen wir zu Anpassungen, welche ihr per Skript erledigen könnt.
Diese Anpassungen habe ich vorgenommen:
- Disable Watermark: Deaktiviert das Wasserzeichen in den Video Konferenzen (NICHT auf der Startseite)
- Remove Blur menu entry: Entfernt die Einstellung mit dem “Blur” Hintergrund
- Disable measuring audio levels: Diese Funktion kontrolliert durchgehend das Audio Signal. Aktivieren spart CPU Performance, kann sich aber negativ auswirken. Jeder sollte hier ein Headset tragen.
- Disable generated room names: Hier werden auf der Startseite diese zufälligen Raumvorschläge deaktiviert
- Automatische Spracherkennung: Hier wird automatisch die Sprache des Benutzerinterfaces festgelegt
- Sprache festlegen: Hier wird die Sprache per Konfiguration festgelegt
- Login Namen erzwingen: Durch diese Einstellung wird zu Beginn jeder Konferenz der Benutzer aufgefordert einen Namen einzugeben
- PreJoin Page: Hier kann der Benutzer einen Namen eingeben sowie sein Lautsprecher / Kamera an/abschalten.
- Enable Layer Suspension: Optimierung um Bandbreite und CPU Last zu sparen
- Disable third party requests: Deaktiviert Verbindungen zu Gravatar.com
- Rename Local Display Name: Nennt sich selbst von “me” zu “Ich” um
- Deutschen Titel ändern: Hier kann man den Titel der deutschen Startseite ändern
- Deutschen Text ändern: Hier kann man den Infotext der deutschen Startseite ändern
- Logo URL anpassen: Hier kann man die URL des Logos oben Links anpassen
- Links zum Impressum aktivieren
Einige der Optionen habe ich mit “#” auskommentiert. Wenn ihr diese aktivieren wollt müsst ihr lediglich das “#” entfernen.
Zuerst erstellen wir uns ein neues Skript:
nano /opt/containers/jitsi/jitsi-start.sh
Inhalt:
#!/bin/bash
# Jitsi starten
docker-compose -f /opt/containers/jitsi/docker-compose.yml up -d
# Kurz warten, bis der Container gestartet ist
sleep 10
# Disable Watermark
sed -i 's/SHOW_JITSI_WATERMARK: true/SHOW_JITSI_WATERMARK: false/' ~/.jitsi-meet-cfg/web/interface_config.js
sed -i 's/SHOW_WATERMARK_FOR_GUESTS: true/SHOW_WATERMARK_FOR_GUESTS: false/' ~/.jitsi-meet-cfg/web/interface_config.js
# Remove blur menu entry
sed -i "s#'videobackgroundblur', ##" ~/.jitsi-meet-cfg/web/interface_config.js
# Disable generated room names
sed -i "s#GENERATE_ROOMNAMES_ON_WELCOME_PAGE: true,#GENERATE_ROOMNAMES_ON_WELCOME_PAGE: false,#" ~/.jitsi-meet-cfg/web/interface_config.js
# Auto Language
#sed -i 's/LANG_DETECTION: false/LANG_DETECTION: true/' ~/.jitsi-meet-cfg/web/interface_config.js
# Sprache festlegen
sed -i "s#// defaultLanguage: 'en'#defaultLanguage: 'de'#" ~/.jitsi-meet-cfg/web/config.js
# Disable measuring audio levels
# https://community.jitsi.org/t/performance-optimization-jitsi-with-separate-videobridges-rather-poor-quality/31699/9
#sed -i "s#// disableAudioLevels: false,#disableAudioLevels: true,#" ~/.jitsi-meet-cfg/web/config.js
# Enable Login Name
#sed -i "s#// requireDisplayName: true,#requireDisplayName: true,#" ~/.jitsi-meet-cfg/web/config.js
#echo "config.requireDisplayName=true;" >> ~/.jitsi-meet-cfg/web/config.js
# PreJoinPage enabled
sed -i "s#// prejoinPageEnabled: false,#prejoinPageEnabled: true,#" ~/.jitsi-meet-cfg/web/config.js
echo "config.prejoinPageEnabled=true;" >> ~/.jitsi-meet-cfg/web/config.js
# Enable Layer Suspension
# https://jitsi.org/blog/new-off-stage-layer-suppression-feature/
sed -i 's#// enableLayerSuspension: false,#enableLayerSuspension: true,#' ~/.jitsi-meet-cfg/web/config.js
# Disable third party requests (gravatar.com)
sed -i "s#// disableThirdPartyRequests: false,#disableThirdPartyRequests: true,#" ~/.jitsi-meet-cfg/web/config.js
# Rename Local Display Name
sed -i "s#DEFAULT_LOCAL_DISPLAY_NAME: 'me',#DEFAULT_LOCAL_DISPLAY_NAME: 'Ich',#" ~/.jitsi-meet-cfg/web/interface_config.js
# Set German Title Line
docker exec jitsi_web_1 sed -i 's/"title": "Sichere, voll funktionale und komplett kostenlose Videokonferenzen"/"title": "Videokonferenzen goNeuland.de"/' /usr/share/jitsi-meet/lang/main-de.json
# Set German Text
docker exec jitsi_web_1 sed -i 's/"appDescription": ".*"/"appDescription": "Viel Spaß hier :)"/' /usr/share/jitsi-meet/lang/main-de.json
# Change Logo URL
sed -i "s#JITSI_WATERMARK_LINK: 'https://jitsi.org',#JITSI_WATERMARK_LINK: 'https://euredomain.de',#" ~/.jitsi-meet-cfg/web/interface_config.js
# Links am unteren Bildschirm aktivieren
# dazu muesst ihr Kapitel 3 der Anleitung noch beachten
sed -i "s#DISPLAY_WELCOME_PAGE_TOOLBAR_ADDITIONAL_CONTENT: false,#DISPLAY_WELCOME_PAGE_TOOLBAR_ADDITIONAL_CONTENT: true,#" ~/.jitsi-meet-cfg/web/interface_config.jsCode-Sprache: PHP (php)
2.1 Links zum Impressum / Statistik hinzufügen
Im unteren Bereich der Webseite habt ihr die Möglichkeit Links zum Impressum oder der Serverstatistik hinzuzufügen. Eine Anleitung zur Serverstatistik mit Grafana habe ich hier erstellt.
Dazu müsst ihr in der Konfiguration
"DISPLAY_WELCOME_PAGE_TOOLBAR_ADDITIONAL_CONTENT: true" Code-Sprache: JSON / JSON mit Kommentaren (json)
gesetzt haben.
Nun müsst ihr die docker-compose Datei noch anpassen.
nano /opt/containers/jitsi/docker-compose.yml
Fügt folgende Zeile hinzu:
- ./anpassungen/welcomePageAdditionalContent.html:/usr/share/jitsi-meet/static/welcomePageAdditionalContent.htmlCode-Sprache: JavaScript (javascript)
So sollte es aussehen:
web:
image: jitsi/web:latest
restart: ${RESTART_POLICY}
volumes:
...
- ${CONFIG}/web:/config:Z
- ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts:Z
- ./anpassungen/welcomePageAdditionalContent.html:/usr/share/jitsi-meet/static/welcomePageAdditionalContent.html
Code-Sprache: PHP (php)
Nun müsst ihr diese Datei noch erstellen.
mkdir -p /opt/containers/jitsi/anpassungen
nano /opt/containers/jitsi/anpassungen/welcomePageAdditionalContent.html
Inhalt:
<template id = "welcome-page-additional-content-template">
<div style="text-align: center; font-size: 16px; margin: 20px 0; margin-top: 10px; z-index: 900; position: relative; color: #fff;">
Eure Firma |
<a href="https://test.webrtc.org" style="color: #fff; text-decoration: underline;">Browser Test</a> |
<a href="https://example.com/datenschutz" style="color: #fff; text-decoration: underline;">Datenschutz</a> |
<a href=" https://example.com/impressum" style="color: #fff; text-decoration: underline;">Impressum</a>
</div>
</template>Code-Sprache: HTML, XML (xml)
3. Anpassungen per Konfigurationsdatei (Version stable-5390-3 bis stable-5765-1)
Ich habe die aktuelle Version stable-5765-1 (02.05.2021) mit dieser Konfiguration zum laufen bekommen. Es kann sein, dass spätere Versionen auch noch so funktionieren.
Nun kommen wir zu Anpassungen, welche ihr per Skript erledigen könnt.
Diese Anpassungen habe ich vorgenommen:
- Lobby aktivieren
- Disable Watermark: Deaktiviert das Wasserzeichen in den Video Konferenzen (NICHT auf der Startseite)
- Remove Blur menu entry: Entfernt die Einstellung mit dem “Blur” Hintergrund
- Disable measuring audio levels: Diese Funktion kontrolliert durchgehend das Audio Signal. Aktivieren spart CPU Performance, kann sich aber negativ auswirken. Jeder sollte hier ein Headset tragen.
- Disable generated room names: Hier werden auf der Startseite diese zufälligen Raumvorschläge deaktiviert
- Sprache festlegen: Hier wird die Sprache per Konfiguration festgelegt
- Login Namen erzwingen: Durch diese Einstellung wird zu Beginn jeder Konferenz der Benutzer aufgefordert einen Namen einzugeben
- PreJoin Page: Hier kann der Benutzer einen Namen eingeben sowie sein Lautsprecher / Kamera an/abschalten.
- Enable Layer Suspension: Optimierung um Bandbreite und CPU Last zu sparen
- Disable third party requests: Deaktiviert Verbindungen zu Gravatar.com
- Rename Local Display Name: Nennt sich selbst von “me” zu “Ich” um
- Deutschen Titel ändern: Hier kann man den Titel der deutschen Startseite ändern
- Deutschen Text ändern: Hier kann man den Infotext der deutschen Startseite ändern
- Logo URL anpassen: Hier kann man die URL des Logos oben Links anpassen
- Links zum Impressum aktivieren
- Standard Nutzername umbenennen
- Entfernt die Werbung für die Apps im unteren Bereich
- Sprach Erkennung deaktivieren
- Name in der Browserleiste
Einige der Optionen habe ich mit “#” auskommentiert. Wenn ihr diese aktivieren wollt müsst ihr lediglich das “#” entfernen.
Zuerst erstellen wir uns ein neues Skript:
nano /opt/containers/jitsi/jitsi-start.sh
Inhalt:
#!/bin/bash
# Lobby aktivieren
sed -i "s#\#ENABLE_LOBBY=1#ENABLE_LOBBY=1#" .env
# Jitsi starten
docker-compose -f /opt/containers/jitsi/docker-compose.yml up -d
# Kurz warten, bis der Container gestartet ist
sleep 10
# Disable Watermark
sed -i 's/SHOW_JITSI_WATERMARK: true/SHOW_JITSI_WATERMARK: false/' ~/.jitsi-meet-cfg/web/interface_config.js
sed -i 's/SHOW_WATERMARK_FOR_GUESTS: true/SHOW_WATERMARK_FOR_GUESTS: false/' ~/.jitsi-meet-cfg/web/interface_config.js
# Anpassung, damit euer Logo angezeigt wird. Siehe Schritt 1 der Anleitung
sed -i "s#DEFAULT_LOGO_URL: 'images/watermark.svg',#DEFAULT_LOGO_URL: 'images/watermark.png',#" ~/.jitsi-meet-cfg/web/interface_config.js
sed -i "s#DEFAULT_WELCOME_PAGE_LOGO_URL: 'images/watermark.svg',#DEFAULT_WELCOME_PAGE_LOGO_URL: 'images/watermark.png',#" ~/.jitsi-meet-cfg/web/interface_config.js
# Remove blur menu entry
sed -i "s#'videobackgroundblur', ##" ~/.jitsi-meet-cfg/web/interface_config.js
# Disable generated room names
sed -i "s#GENERATE_ROOMNAMES_ON_WELCOME_PAGE: true,#GENERATE_ROOMNAMES_ON_WELCOME_PAGE: false,#" ~/.jitsi-meet-cfg/web/interface_config.js
# Standard Sprache festlegen
sed -i "s#// defaultLanguage: 'en'#defaultLanguage: 'de'#" ~/.jitsi-meet-cfg/web/config.js
# Disable measuring audio levels
# https://community.jitsi.org/t/performance-optimization-jitsi-with-separate-videobridges-rather-poor-quality/31699/9
#sed -i "s#// disableAudioLevels: false,#disableAudioLevels: true,#" ~/.jitsi-meet-cfg/web/config.js
# Enable Login Name
#sed -i "s#// requireDisplayName: true,#requireDisplayName: true,#" ~/.jitsi-meet-cfg/web/config.js
#echo "config.requireDisplayName=true;" >> ~/.jitsi-meet-cfg/web/config.js
# PreJoinPage enabled
sed -i "s#// prejoinPageEnabled: false,#prejoinPageEnabled: true,#" ~/.jitsi-meet-cfg/web/config.js
echo "config.prejoinPageEnabled=true;" >> ~/.jitsi-meet-cfg/web/config.js
# Enable Layer Suspension
# https://jitsi.org/blog/new-off-stage-layer-suppression-feature/
sed -i 's#// enableLayerSuspension: false,#enableLayerSuspension: true,#' ~/.jitsi-meet-cfg/web/config.js
# Disable third party requests (gravatar.com)
sed -i "s#// disableThirdPartyRequests: false,#disableThirdPartyRequests: true,#" ~/.jitsi-meet-cfg/web/config.js
# Rename Local Display Name
sed -i "s#DEFAULT_LOCAL_DISPLAY_NAME: 'me',#DEFAULT_LOCAL_DISPLAY_NAME: 'Ich',#" ~/.jitsi-meet-cfg/web/interface_config.js
# Change Logo URL
sed -i "s#JITSI_WATERMARK_LINK: 'https://jitsi.org',#JITSI_WATERMARK_LINK: 'https://euredomain.de',#" ~/.jitsi-meet-cfg/web/interface_config.js
# Links am unteren Bildschirm aktivieren
# dazu muesst ihr Kapitel 3.1 der Anleitung noch beachten
sed -i "s#DISPLAY_WELCOME_PAGE_CONTENT: false,#DISPLAY_WELCOME_PAGE_CONTENT: true,#" ~/.jitsi-meet-cfg/web/interface_config.js
# Umbenennen von unbekannten Nutzern
sed -i "s#DEFAULT_REMOTE_DISPLAY_NAME: 'Fellow Jitster',#DEFAULT_REMOTE_DISPLAY_NAME: 'Unbekannter Nutzer',#" ~/.jitsi-meet-cfg/web/interface_config.js
# entfernt die Werbung fuer die Apps am unteren Rand
#sed -i "s#DISPLAY_WELCOME_FOOTER: true,#DISPLAY_WELCOME_FOOTER: false,#" ~/.jitsi-meet-cfg/web/interface_config.js
# deaktiviert die Spracherkennung
#sed -i "s#LANG_DETECTION: true,#LANG_DETECTION: false,#" ~/.jitsi-meet-cfg/web/interface_config.js
# anpassen des Namens in der Browserleiste
sed -i "s#APP_NAME: 'Jitsi Meet',#APP_NAME: 'Eure Webseite',#" ~/.jitsi-meet-cfg/web/interface_config.js
### Anpassungen für stable-5390-3 ###
# Set German Title Line
#docker exec jitsi_web_1 sed -i 's/"title": "Sichere, voll funktionale und komplett kostenlose Videokonferenzen"/"headerTitle": "Videokonferenzen euredomain.de"/' /usr/share/jitsi-meet/lang/main-de.json
# Set German Text
#docker exec jitsi_web_1 sed -i 's/"appDescription": ".*"/"headerSubtitle": "Viel Spaß hier :)"/' /usr/share/jitsi-meet/lang/main-de.json
### Anpassungen für stable-5765-1 ###
# Set German Title Line
docker exec jitsi_web_1 sed -i 's/"headerTitle": "Jitsi Meet"/"headerTitle": "goNeuland.de Videokonferenzen"/' /usr/share/jitsi-meet/lang/main-de.json
# Set German Text
docker exec jitsi_web_1 sed -i 's/"headerSubtitle": "Sichere und hochqualitative Meetings"/"headerSubtitle": "kostenlose Videokonferenzen für alle"/' /usr/share/jitsi-meet/lang/main-de.jsonCode-Sprache: PHP (php)
3.1 Links zum Impressum / Statistik hinzufügen
Im unteren Bereich der Webseite habt ihr die Möglichkeit Links zum Impressum oder der Serverstatistik hinzuzufügen. Eine Anleitung zur Serverstatistik mit Grafana habe ich hier erstellt.
Dazu müsst ihr in der Konfiguration
"DISPLAY_WELCOME_PAGE_CONTENT: true" Code-Sprache: JSON / JSON mit Kommentaren (json)
gesetzt haben.
Nun müsst ihr die docker-compose Datei noch anpassen.
nano /opt/containers/jitsi/docker-compose.yml
Fügt folgende Zeile hinzu:
- ./anpassungen/welcomePageAdditionalContent.html:/usr/share/jitsi-meet/static/welcomePageAdditionalContent.htmlCode-Sprache: JavaScript (javascript)
So sollte es aussehen:
web:
image: jitsi/web:latest
restart: ${RESTART_POLICY}
volumes:
...
- ${CONFIG}/web:/config:Z
- ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts:Z
- ./anpassungen/welcomePageAdditionalContent.html:/usr/share/jitsi-meet/static/welcomePageAdditionalContent.html
Code-Sprache: PHP (php)
Nun müsst ihr diese Datei noch erstellen.
mkdir -p /opt/containers/jitsi/anpassungen
nano /opt/containers/jitsi/anpassungen/welcomePageAdditionalContent.html
Inhalt:
<template id = "welcome-page-additional-content-template">
<div style="text-align: center; font-size: 16px; margin: 20px 0; margin-top: 10px; z-index: 900; position: relative; color: #000;">
Eure Firma |
<a href="https://test.webrtc.org" style="color: #000; text-decoration: underline;">Browser Test</a> |
<a href="https://example.com/datenschutz" style="color: #000; text-decoration: underline;">Datenschutz</a> |
<a href=" https://example.com/impressum" style="color: #000; text-decoration: underline;">Impressum</a>
</div>
</template>Code-Sprache: HTML, XML (xml)
4. Dateirechte anpassen
Nun müssen wir die eben erstelle Konfigurationsdatei noch ausführbar machen.
chmod +x /opt/containers/jitsi/jitsi-start.sh
5. Jitsi mit geänderter Konfiguration starten
Nun können wir Jitsi endlich starten und uns die Änderungen anschauen.
/opt/containers/jitsi/./jitsi-start.sh
6. Quellen
https://scheible.it/datenschutzfreundliche-konfiguration-jitsi-meet/
https://adminforge.de/linux-allgemein/jitsi-meet-docker-instanz-anpassen/
https://scheible.it/jitsi-meet-ressourcensparend/



Hi, sorry vielleicht eine blöde Frage. Ich nutze zur grafischen Administration Portainer, Jitsi habe ich anhand deiner Installationsanleitung hier in der Community installiert über Portainer. Läuft soweit. Kann ich das Script so einbinden, dass es beim automatischen Aktualisieren der Container (z.B. mit Watchdog) nach der Aktualisierung automatisch ausgeführt wird?
VG Frank
Hey,
ich versuche den Hintergrund von Jitsi zu Ändern. Dieser gefällt mir nicht.
Bei der recherche bin ich hier drauf gestoßen, aber ich bekomme es nicht zum Laufen. Kannst du mir da helfen?
Quelle: https://github.com/jitsi/jitsi-meet/issues/8183
docker-compose.yaml file
set DYNAMIC_BRANDING_URL: “https://raw.githubusercontent.com/prayagsingh/mockserver/main/bloquelabs/jitsibrand.json”
{
“inviteDomain”:”test.example.com”,
“backgroundColor”:”#fff”,
“backgroundImageUrl”:”https://i2.wp.com/www.freeconference.com/wp-content/uploads/2017/11/video-template-2635532_640-2.jpg”,
“logoClickUrl”:”https://www.bloquelabs.com”,
“logoImageUrl”:”https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_92x30dp.png”
}
Zwischenantwort an mich selbst:
Die Jitsi-web version findet sich durch Anmelden im Container per
> docker exec -it jitsi_web_1 bash
und Abfrage der Jitsi-version z.B. per
> dpkg -l | grep jitsi
Nutzt hier aber nix, da die Version vom Docker Container gemeint ist, wie sie hier zu finden ist:
https://github.com/jitsi/docker-jitsi-meet
Damit lässt sich anhand des Installationsdatums abschätzen, welche Version man wohl laufen hat.
Eine Abfrage von
> docker inspect jitsi_web_1
liefert zwar allerhand Informationen, aber nicht die Version des Containers. Suche weiter.
Frage – wie finde ich heraus, welche Jitsi Version ich installiert habe?