Tip: customizing the configuration after upgrade

I never customize the Jitsi configuration manually. I use a customization script and run it after the installation and the upgrades.

This is a simple customization script sample.

customize.sh

#!/bin/bash
set -e

# -----------------------------------------------------------------------------
# This script customizes the Jitsi installation.
#
# usage:
#     bash customize.sh
# -----------------------------------------------------------------------------
BASEDIR=$(dirname $0)
JITSI_MEET="/usr/share/jitsi-meet"
INTERFACE="$JITSI_MEET/interface_config.js"
CONFIG="/etc/jitsi/meet/meet.mydomain.com-config.js"

mkdir -p $BASEDIR/backup
cp $INTERFACE $BASEDIR/backup/interface_config.$(date +'%Y%m%d%H%M%S').js
cp $CONFIG $BASEDIR/backup/config.$(date +'%Y%m%d%H%M%S').js

# -----------------------------------------------------------------------------
# interface_config.js
# -----------------------------------------------------------------------------
FAVICON="favicon-mydomain.ico"
LOGO="logo-mydomain.png"

cp $BASEDIR/$FAVICON $JITSI_MEET/images/favicon.ico
cp $BASEDIR/$LOGO $JITSI_MEET/images/watermark-custom.png
sed -i "/^\s*DEFAULT_LOGO_URL:/ s~:.*~: 'images/watermark-custom.png',~" \
    $INTERFACE

APP_NAME="myApp"
sed -i "/^\s*APP_NAME:/ s~:.*~: '$APP_NAME',~" $INTERFACE

sed -i "/^\s*DISABLE_JOIN_LEAVE_NOTIFICATIONS:/ s~:.*~: true,~" $INTERFACE
sed -i "/^\s*DISABLE_VIDEO_BACKGROUND:/ s~:.*~: true,~" $INTERFACE
sed -i "/^\s*GENERATE_ROOMNAMES_ON_WELCOME_PAGE:/ s~:.*~: false,~" $INTERFACE
sed -i "/^\s*HIDE_INVITE_MORE_HEADER:/ s~:.*~: true,~" $INTERFACE
sed -i "/^\s*JITSI_WATERMARK_LINK:/ s~:.*~: 'https://www.mydomain.com/',~" \
    $INTERFACE
sed -i "/^\s*LANG_DETECTION:/ s~:.*~: false,~" $INTERFACE
sed -i "/ENFORCE_NOTIFICATION_AUTO_DISMISS_TIMEOUT:/ s~//\s*~~" $INTERFACE
sed -i "/ENFORCE_NOTIFICATION_AUTO_DISMISS_TIMEOUT:/ s~:.*~: 5000,~" \
    $INTERFACE
sed -i "s~'invite', *~~" $INTERFACE
sed -i "s~'videobackgroundblur', *~~" $INTERFACE

# -----------------------------------------------------------------------------
# config.js
# -----------------------------------------------------------------------------
sed -i "/disableAudioLevels:/ s~//\s*~~" $CONFIG
sed -i "/disableAudioLevels:/ s~:.*~: true,~" $CONFIG
sed -i "/startAudioMuted:/ s~//\s*~~" $CONFIG
sed -i "/startAudioMuted:/ s~:.*~: 10,~" $CONFIG
sed -i "/resolution:/ s~//\s*~~" $CONFIG
sed -i "/resolution:/ s~:.*~: 720,~" $CONFIG
sed -i "/constraints:/ s~//\s*~~" $CONFIG
sed -i "/constraints:/ s~:.*~: \
{\
video: {\
aspectRatio: 16 / 9, \
height: {\
ideal: 720, \
max: 720, \
min: 240}}},~" $CONFIG
sed -i "/startVideoMuted:/ s~//\s*~~" $CONFIG
sed -i "/startVideoMuted:/ s~:.*~: 10,~" $CONFIG
sed -i "/startWithVideoMuted:/ s~//\s*~~" $CONFIG
sed -i "/startWithVideoMuted:/ s~:.*~: true,~" $CONFIG
sed -i "/channelLastN:/ s~//\s*~~" $CONFIG
sed -i "/channelLastN:/ s~:.*~: 2,~" $CONFIG
sed -i "/requireDisplayName:/ s~//\s*~~" $CONFIG
sed -i "/requireDisplayName:/ s~:.*~: true,~" $CONFIG
sed -i "/defaultLanguage:/ s~//\s*~~" $CONFIG
sed -i "/defaultLanguage:/ s~:.*~: 'en',~" $CONFIG
sed -i "/disableInviteFunctions:/ s~//\s*~~" $CONFIG
sed -i "/disableInviteFunctions:/ s~:.*~: true,~" $CONFIG
sed -i "/doNotStoreRoom:/ s~//\s*~~" $CONFIG
sed -i "/doNotStoreRoom:/ s~:.*~: true,~" $CONFIG
3 Likes

How do you deal with images? Do you upload an image folder? Include in install?

yes. I have not many images. I put the images in a folder on the host and copy them to the static image folder under jitsi-meet while running the script