From f3f24bb7b42740cde36b55294e3edef71a35f4ed Mon Sep 17 00:00:00 2001 From: ayoub cherif Date: Wed, 2 Sep 2026 17:31:39 +0100 Subject: [PATCH 01/15] Migrate jitsi version from 10888 to 11146-2 --- _functions.sh | 4 +-- _functions_jitsi.sh | 14 ++++---- etc/jitsi/jitsi10x.env.template | 3 +- etc/jitsi/jitsi11x.env.template | 58 +++++++++++++++++++++++++++++++++ etc/jitsi/jitsi9x.env.template | 1 + 5 files changed, 69 insertions(+), 11 deletions(-) create mode 100644 etc/jitsi/jitsi11x.env.template diff --git a/_functions.sh b/_functions.sh index e54ee8a6..5862c7de 100755 --- a/_functions.sh +++ b/_functions.sh @@ -1139,7 +1139,7 @@ initialize_product_settings() { env_var "DEPLOYMENT_MYSQL_DEFAULT_VERSION" "8.4.9" # Default version of the mysql server to use env_var "DEPLOYMENT_POSTGRESQL_DEFAULT_VERSION" "17" # Default version of the postgresql server to use - configurable_env_var "DEPLOYMENT_JITSI_IMAGE_VERSION" "stable-10888" + configurable_env_var "DEPLOYMENT_JITSI_IMAGE_VERSION" "stable-11146-2" # TO DO Once onlyoffice/documentserver-ie:6.1 is released, switch to that image and use a fixed version @@ -1155,7 +1155,7 @@ initialize_product_settings() { env_var "DEPLOYMENT_MYSQL_DEFAULT_VERSION" "8.4.11" # Default version of the mysql server to use env_var "DEPLOYMENT_POSTGRESQL_DEFAULT_VERSION" "17" # Default version of the postgresql server to use - configurable_env_var "DEPLOYMENT_JITSI_IMAGE_VERSION" "stable-10888" + configurable_env_var "DEPLOYMENT_JITSI_IMAGE_VERSION" "stable-11146-2" # TO DO Once onlyoffice/documentserver-ie:6.1 is released, switch to that image and use a fixed version diff --git a/_functions_jitsi.sh b/_functions_jitsi.sh index 4569d8c5..3fdf3486 100644 --- a/_functions_jitsi.sh +++ b/_functions_jitsi.sh @@ -121,10 +121,8 @@ do_start_jitsi() { echo_info "Starting Jitsi prosody container ${DEPLOYMENT_JITSI_PROSODY_CONTAINER_NAME} based on image jitsi/prosody:${DEPLOYMENT_JITSI_IMAGE_VERSION}" # Ensure there is no container with the same name delete_docker_container ${DEPLOYMENT_JITSI_PROSODY_CONTAINER_NAME} - cp -v ${ETC_DIR}/jitsi/algorithm.cfg.lua ${DEPLOYMENT_DIR}/algorithm.cfg.lua ${DOCKER_CMD} run \ -d \ - -v ${DEPLOYMENT_DIR}/algorithm.cfg.lua:/config/config.d/algorithm.cfg.lua:ro \ --env-file ${DEPLOYMENT_DIR}/jitsi.env \ --network "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ --network-alias "xmpp.${DEPLOYMENT_JITSI_NETWORK_NAME}" \ @@ -134,7 +132,7 @@ do_start_jitsi() { --health-interval=30s \ --health-timeout=30s \ --health-retries=3 \ - --name ${DEPLOYMENT_JITSI_PROSODY_CONTAINER_NAME} jitsi/prosody:${DEPLOYMENT_JITSI_IMAGE_VERSION} + --name ${DEPLOYMENT_JITSI_PROSODY_CONTAINER_NAME} ghcr.io/jitsi/prosody:${DEPLOYMENT_JITSI_IMAGE_VERSION} echo_info "${DEPLOYMENT_JITSI_PROSODY_CONTAINER_NAME} container started" echo_info "Starting Jitsi Jicofo container ${DEPLOYMENT_JITSI_JICOFO_CONTAINER_NAME} based on image jitsi/jicofo:${DEPLOYMENT_JITSI_IMAGE_VERSION}" @@ -150,7 +148,7 @@ do_start_jitsi() { --health-interval=30s \ --health-timeout=30s \ --health-retries=3 \ - --name ${DEPLOYMENT_JITSI_JICOFO_CONTAINER_NAME} jitsi/jicofo:"${DEPLOYMENT_JITSI_IMAGE_VERSION}" + --name ${DEPLOYMENT_JITSI_JICOFO_CONTAINER_NAME} ghcr.io/jitsi/jicofo:"${DEPLOYMENT_JITSI_IMAGE_VERSION}" echo_info "${DEPLOYMENT_JITSI_JICOFO_CONTAINER_NAME} container started" echo_info "Starting Jitsi JVB container ${DEPLOYMENT_JITSI_JVB_CONTAINER_NAME} based on image jitsi/jvb:${DEPLOYMENT_JITSI_IMAGE_VERSION}" @@ -169,7 +167,7 @@ do_start_jitsi() { --health-interval=30s \ --health-timeout=30s \ --health-retries=3 \ - --name ${DEPLOYMENT_JITSI_JVB_CONTAINER_NAME} jitsi/jvb:"${DEPLOYMENT_JITSI_IMAGE_VERSION}" + --name ${DEPLOYMENT_JITSI_JVB_CONTAINER_NAME} ghcr.io/jitsi/jvb:"${DEPLOYMENT_JITSI_IMAGE_VERSION}" echo_info "${DEPLOYMENT_JITSI_JVB_CONTAINER_NAME} container started" echo_info "Starting Jitsi Jibri container ${DEPLOYMENT_JITSI_JIBRI_CONTAINER_NAME} based on image jitsi/jibri:${DEPLOYMENT_JITSI_IMAGE_VERSION}" @@ -195,7 +193,7 @@ do_start_jitsi() { --health-interval=30s \ --health-timeout=30s \ --health-retries=3 \ - --name ${DEPLOYMENT_JITSI_JIBRI_CONTAINER_NAME} jitsi/jibri:"${DEPLOYMENT_JITSI_IMAGE_VERSION}" + --name ${DEPLOYMENT_JITSI_JIBRI_CONTAINER_NAME} ghcr.io/jitsi/jibri:"${DEPLOYMENT_JITSI_IMAGE_VERSION}" echo_info "${DEPLOYMENT_JITSI_JIBRI_CONTAINER_NAME} container started" echo_info "Starting Jitsi Web container ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} based on image exoplatform/jitsi-web:${DEPLOYMENT_JITSI_IMAGE_VERSION}" @@ -203,8 +201,8 @@ do_start_jitsi() { delete_docker_container ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} ${DOCKER_CMD} run \ -d \ - -p "${DEPLOYMENT_JITSI_WEB_HTTP_PORT}:80" \ - -p "${DEPLOYMENT_JITSI_WEB_HTTPS_PORT}:443" \ + -p "${DEPLOYMENT_JITSI_WEB_HTTP_PORT}:8000" \ + -p "${DEPLOYMENT_JITSI_WEB_HTTPS_PORT}:8443" \ --env-file ${DEPLOYMENT_DIR}/jitsi.env \ --network "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ --network-alias "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ diff --git a/etc/jitsi/jitsi10x.env.template b/etc/jitsi/jitsi10x.env.template index 9842fe54..2c000b82 100644 --- a/etc/jitsi/jitsi10x.env.template +++ b/etc/jitsi/jitsi10x.env.template @@ -40,6 +40,7 @@ JWT_APP_ID=exo-jitsi JWT_APP_SECRET=${DEPLOYMENT_JITSI_JWT_APP_SECRET} JWT_ENABLE_DOMAIN_VERIFICATION=0 JWT_TOKEN_AUTH_MODULE=token_verification +JWT_SIGN_TYPE=HS256 PUBLIC_URL=${DEPLOYMENT_URL}/jitsiweb TESTING_CAP_SCREENSHARE_BITRATE=0 TZ=UTC @@ -54,4 +55,4 @@ XMPP_MUC_DOMAIN=muc.${DEPLOYMENT_JITSI_NETWORK_NAME} XMPP_PORT=5222 XMPP_RECORDER_DOMAIN=recorder.${DEPLOYMENT_JITSI_NETWORK_NAME} XMPP_HIDDEN_DOMAIN=recorder.${DEPLOYMENT_JITSI_NETWORK_NAME} -XMPP_SERVER=xmpp.${DEPLOYMENT_JITSI_NETWORK_NAME} \ No newline at end of file +XMPP_SERVER=xmpp.${DEPLOYMENT_JITSI_NETWORK_NAME} diff --git a/etc/jitsi/jitsi11x.env.template b/etc/jitsi/jitsi11x.env.template new file mode 100644 index 00000000..2c000b82 --- /dev/null +++ b/etc/jitsi/jitsi11x.env.template @@ -0,0 +1,58 @@ +AUTH_TYPE=jwt +CALL_APP_URL=${DEPLOYMENT_URL}/jitsicall +DESKTOP_SHARING_FRAMERATE_MAX=120 +DESKTOP_SHARING_FRAMERATE_MIN=120 +DISABLE_DEEP_LINKING=true +DISPLAY=:0 +ENABLE_AUTH=1 +ENABLE_COLIBRI_WEBSOCKET=1 +ENABLE_IPV6=0 +ENABLE_P2P=false +ENABLE_RECORDING=1 +ENABLE_END_CONFERENCE=0 +ENABLE_SCTP=0 +ENABLE_SERVICE_RECORDING=true +ENABLE_SIMULCAST=false +ENABLE_XMPP_WEBSOCKET=1 +EXO_FILE_UPLOAD_URL=${DEPLOYMENT_URL}/portal/rest/jitsi/upload +EXO_JWT_SECRET=${DEPLOYMENT_JITSI_EXO_JWT_SECRET} +JIBRI_BREWERY_MUC=jibribrewery +JIBRI_FINALIZE_RECORDING_SCRIPT_PATH=/tmp/finalize.sh +JIBRI_LOGS_DIR=/config/logs +JIBRI_PENDING_TIMEOUT=90 +JIBRI_RECORDER_PASSWORD=${DEPLOYMENT_JITSI_JIBRI_RECORDER_PASSWORD} +JIBRI_RECORDER_USER=recorder +JIBRI_RECORDING_DIR=/config/recordings +JIBRI_STRIP_DOMAIN_JID=muc +JIBRI_XMPP_PASSWORD=${DEPLOYMENT_JITSI_JIBRI_XMPP_PASSWORD} +JIBRI_XMPP_USER=jibri +JICOFO_AUTH_PASSWORD=${DEPLOYMENT_JITSI_JICOFO_AUTH_PASSWORD} +JICOFO_AUTH_USER=focus +JICOFO_COMPONENT_SECRET=${DEPLOYMENT_JITSI_JICOFO_COMPONENT_SECRET} +JICOFO_ENABLE_HEALTH_CHECKS=true +JICOFO_ENABLE_BRIDGE_HEALTH_CHECKS=true +JVB_AUTH_PASSWORD=${DEPLOYMENT_JITSI_JVB_AUTH_PASSWORD} +JVB_AUTH_USER=jvb +JVB_BREWERY_MUC=jvbbrewery +JVB_PORT=${DEPLOYMENT_JITSI_JVB_PORT} +JVB_STUN_SERVERS=meet-jit-si-turnrelay.jitsi.net:443 +JWT_APP_ID=exo-jitsi +JWT_APP_SECRET=${DEPLOYMENT_JITSI_JWT_APP_SECRET} +JWT_ENABLE_DOMAIN_VERIFICATION=0 +JWT_TOKEN_AUTH_MODULE=token_verification +JWT_SIGN_TYPE=HS256 +PUBLIC_URL=${DEPLOYMENT_URL}/jitsiweb +TESTING_CAP_SCREENSHARE_BITRATE=0 +TZ=UTC +WHITEBOARD_ENABLED=1 +WHITEBOARD_COLLAB_SERVER_PUBLIC_URL=${DEPLOYMENT_URL} +XMPP_AUTH_DOMAIN=auth.${DEPLOYMENT_JITSI_NETWORK_NAME} +XMPP_BOSH_URL_BASE=http://xmpp.${DEPLOYMENT_JITSI_NETWORK_NAME}:5280 +XMPP_DOMAIN=${DEPLOYMENT_JITSI_NETWORK_NAME} +XMPP_GUEST_DOMAIN=guest.${DEPLOYMENT_JITSI_NETWORK_NAME} +XMPP_INTERNAL_MUC_DOMAIN=internal-muc.${DEPLOYMENT_JITSI_NETWORK_NAME} +XMPP_MUC_DOMAIN=muc.${DEPLOYMENT_JITSI_NETWORK_NAME} +XMPP_PORT=5222 +XMPP_RECORDER_DOMAIN=recorder.${DEPLOYMENT_JITSI_NETWORK_NAME} +XMPP_HIDDEN_DOMAIN=recorder.${DEPLOYMENT_JITSI_NETWORK_NAME} +XMPP_SERVER=xmpp.${DEPLOYMENT_JITSI_NETWORK_NAME} diff --git a/etc/jitsi/jitsi9x.env.template b/etc/jitsi/jitsi9x.env.template index 69cf6a33..0a5cb5ec 100644 --- a/etc/jitsi/jitsi9x.env.template +++ b/etc/jitsi/jitsi9x.env.template @@ -40,6 +40,7 @@ JWT_APP_ID=exo-jitsi JWT_APP_SECRET=${DEPLOYMENT_JITSI_JWT_APP_SECRET} JWT_ENABLE_DOMAIN_VERIFICATION=0 JWT_TOKEN_AUTH_MODULE=token_verification +JWT_SIGN_TYPE=HS256 PUBLIC_URL=${DEPLOYMENT_URL}/jitsiweb TESTING_CAP_SCREENSHARE_BITRATE=0 TZ=UTC From ae025ec17095cfd407265fe23ac8ab819b9a9bdc Mon Sep 17 00:00:00 2001 From: ayoub cherif Date: Thu, 3 Sep 2026 16:17:11 +0100 Subject: [PATCH 02/15] mount a volume config for certs --- _functions_jitsi.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/_functions_jitsi.sh b/_functions_jitsi.sh index 3fdf3486..7fccf1b9 100644 --- a/_functions_jitsi.sh +++ b/_functions_jitsi.sh @@ -123,6 +123,7 @@ do_start_jitsi() { delete_docker_container ${DEPLOYMENT_JITSI_PROSODY_CONTAINER_NAME} ${DOCKER_CMD} run \ -d \ + -v ${DEPLOYMENT_DIR}/prosody:/config:Z \ --env-file ${DEPLOYMENT_DIR}/jitsi.env \ --network "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ --network-alias "xmpp.${DEPLOYMENT_JITSI_NETWORK_NAME}" \ From 8c7d72a218b684ccb77adbc2f87d94e90f17438f Mon Sep 17 00:00:00 2001 From: ayoub cherif Date: Thu, 3 Sep 2026 16:19:48 +0100 Subject: [PATCH 03/15] Revert "mount a volume config for certs" This reverts commit ae025ec17095cfd407265fe23ac8ab819b9a9bdc. --- _functions_jitsi.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/_functions_jitsi.sh b/_functions_jitsi.sh index 7fccf1b9..3fdf3486 100644 --- a/_functions_jitsi.sh +++ b/_functions_jitsi.sh @@ -123,7 +123,6 @@ do_start_jitsi() { delete_docker_container ${DEPLOYMENT_JITSI_PROSODY_CONTAINER_NAME} ${DOCKER_CMD} run \ -d \ - -v ${DEPLOYMENT_DIR}/prosody:/config:Z \ --env-file ${DEPLOYMENT_DIR}/jitsi.env \ --network "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ --network-alias "xmpp.${DEPLOYMENT_JITSI_NETWORK_NAME}" \ From 0410ab84e2795338c8799edc775c3ee4ca333e93 Mon Sep 17 00:00:00 2001 From: ayoub cherif Date: Thu, 3 Sep 2026 16:31:58 +0100 Subject: [PATCH 04/15] test adding volume in jitsi-web --- _functions_jitsi.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/_functions_jitsi.sh b/_functions_jitsi.sh index 3fdf3486..17f9c7e4 100644 --- a/_functions_jitsi.sh +++ b/_functions_jitsi.sh @@ -203,6 +203,7 @@ do_start_jitsi() { -d \ -p "${DEPLOYMENT_JITSI_WEB_HTTP_PORT}:8000" \ -p "${DEPLOYMENT_JITSI_WEB_HTTPS_PORT}:8443" \ + -v "${DEPLOYMENT_DIR}/config:/config" \ --env-file ${DEPLOYMENT_DIR}/jitsi.env \ --network "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ --network-alias "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ From 10c87ed54c5feaf211a2b077354212109b543b56 Mon Sep 17 00:00:00 2001 From: ayoub cherif Date: Thu, 3 Sep 2026 16:42:30 +0100 Subject: [PATCH 05/15] force user root in web jitsi container --- _functions_jitsi.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/_functions_jitsi.sh b/_functions_jitsi.sh index 17f9c7e4..b6c534d2 100644 --- a/_functions_jitsi.sh +++ b/_functions_jitsi.sh @@ -201,6 +201,7 @@ do_start_jitsi() { delete_docker_container ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} ${DOCKER_CMD} run \ -d \ + --user root \ -p "${DEPLOYMENT_JITSI_WEB_HTTP_PORT}:8000" \ -p "${DEPLOYMENT_JITSI_WEB_HTTPS_PORT}:8443" \ -v "${DEPLOYMENT_DIR}/config:/config" \ From d48f9021f5592eaa5c35c28faee50dcb3237207d Mon Sep 17 00:00:00 2001 From: ayoub cherif Date: Thu, 3 Sep 2026 16:44:36 +0100 Subject: [PATCH 06/15] test without mounting the volume --- _functions_jitsi.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/_functions_jitsi.sh b/_functions_jitsi.sh index b6c534d2..3bc17235 100644 --- a/_functions_jitsi.sh +++ b/_functions_jitsi.sh @@ -204,7 +204,6 @@ do_start_jitsi() { --user root \ -p "${DEPLOYMENT_JITSI_WEB_HTTP_PORT}:8000" \ -p "${DEPLOYMENT_JITSI_WEB_HTTPS_PORT}:8443" \ - -v "${DEPLOYMENT_DIR}/config:/config" \ --env-file ${DEPLOYMENT_DIR}/jitsi.env \ --network "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ --network-alias "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ From 508723aa7dce43cfdca87098523f9fb0df7fd5a2 Mon Sep 17 00:00:00 2001 From: ayoub cherif Date: Thu, 3 Sep 2026 16:48:06 +0100 Subject: [PATCH 07/15] make the user prdacc --- _functions_jitsi.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_functions_jitsi.sh b/_functions_jitsi.sh index 3bc17235..5ce80491 100644 --- a/_functions_jitsi.sh +++ b/_functions_jitsi.sh @@ -201,9 +201,10 @@ do_start_jitsi() { delete_docker_container ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} ${DOCKER_CMD} run \ -d \ - --user root \ + --user prdacc \ -p "${DEPLOYMENT_JITSI_WEB_HTTP_PORT}:8000" \ -p "${DEPLOYMENT_JITSI_WEB_HTTPS_PORT}:8443" \ + -v "${DEPLOYMENT_DIR}/config:/config" \ --env-file ${DEPLOYMENT_DIR}/jitsi.env \ --network "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ --network-alias "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ From 1c7161f43c29070170f6947cdd8ef6dde45bbbc0 Mon Sep 17 00:00:00 2001 From: ayoub cherif Date: Thu, 3 Sep 2026 16:48:50 +0100 Subject: [PATCH 08/15] reset config --- _functions_jitsi.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_functions_jitsi.sh b/_functions_jitsi.sh index 5ce80491..b6c534d2 100644 --- a/_functions_jitsi.sh +++ b/_functions_jitsi.sh @@ -201,7 +201,7 @@ do_start_jitsi() { delete_docker_container ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} ${DOCKER_CMD} run \ -d \ - --user prdacc \ + --user root \ -p "${DEPLOYMENT_JITSI_WEB_HTTP_PORT}:8000" \ -p "${DEPLOYMENT_JITSI_WEB_HTTPS_PORT}:8443" \ -v "${DEPLOYMENT_DIR}/config:/config" \ From cebe7e05deec0f2eba0db3b290e9ae76f29a08ca Mon Sep 17 00:00:00 2001 From: ayoub cherif Date: Thu, 3 Sep 2026 16:50:34 +0100 Subject: [PATCH 09/15] test config --- _functions_jitsi.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/_functions_jitsi.sh b/_functions_jitsi.sh index b6c534d2..3fdf3486 100644 --- a/_functions_jitsi.sh +++ b/_functions_jitsi.sh @@ -201,10 +201,8 @@ do_start_jitsi() { delete_docker_container ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} ${DOCKER_CMD} run \ -d \ - --user root \ -p "${DEPLOYMENT_JITSI_WEB_HTTP_PORT}:8000" \ -p "${DEPLOYMENT_JITSI_WEB_HTTPS_PORT}:8443" \ - -v "${DEPLOYMENT_DIR}/config:/config" \ --env-file ${DEPLOYMENT_DIR}/jitsi.env \ --network "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ --network-alias "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ From d6050fa2b6c63cfe9d46132ea7885820de26f21b Mon Sep 17 00:00:00 2001 From: ayoub cherif Date: Thu, 3 Sep 2026 16:54:37 +0100 Subject: [PATCH 10/15] mount the volume in jitsi web --- _functions_jitsi.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/_functions_jitsi.sh b/_functions_jitsi.sh index 3fdf3486..17f9c7e4 100644 --- a/_functions_jitsi.sh +++ b/_functions_jitsi.sh @@ -203,6 +203,7 @@ do_start_jitsi() { -d \ -p "${DEPLOYMENT_JITSI_WEB_HTTP_PORT}:8000" \ -p "${DEPLOYMENT_JITSI_WEB_HTTPS_PORT}:8443" \ + -v "${DEPLOYMENT_DIR}/config:/config" \ --env-file ${DEPLOYMENT_DIR}/jitsi.env \ --network "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ --network-alias "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ From 845d4ee7dc0a87faff962162fe39bd8ceaaa987a Mon Sep 17 00:00:00 2001 From: ayoub cherif Date: Thu, 3 Sep 2026 16:57:16 +0100 Subject: [PATCH 11/15] test create the volume with user prdacc --- _functions_jitsi.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/_functions_jitsi.sh b/_functions_jitsi.sh index 17f9c7e4..5ce80491 100644 --- a/_functions_jitsi.sh +++ b/_functions_jitsi.sh @@ -201,6 +201,7 @@ do_start_jitsi() { delete_docker_container ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} ${DOCKER_CMD} run \ -d \ + --user prdacc \ -p "${DEPLOYMENT_JITSI_WEB_HTTP_PORT}:8000" \ -p "${DEPLOYMENT_JITSI_WEB_HTTPS_PORT}:8443" \ -v "${DEPLOYMENT_DIR}/config:/config" \ From 383b64769c124144eb6d1cc35a926f79d3848e5f Mon Sep 17 00:00:00 2001 From: ayoub cherif Date: Thu, 3 Sep 2026 16:59:27 +0100 Subject: [PATCH 12/15] reset config --- _functions_jitsi.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_functions_jitsi.sh b/_functions_jitsi.sh index 5ce80491..b6c534d2 100644 --- a/_functions_jitsi.sh +++ b/_functions_jitsi.sh @@ -201,7 +201,7 @@ do_start_jitsi() { delete_docker_container ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} ${DOCKER_CMD} run \ -d \ - --user prdacc \ + --user root \ -p "${DEPLOYMENT_JITSI_WEB_HTTP_PORT}:8000" \ -p "${DEPLOYMENT_JITSI_WEB_HTTPS_PORT}:8443" \ -v "${DEPLOYMENT_DIR}/config:/config" \ From d45c9af2c21f8814cfa5eeb984f6cd692e230770 Mon Sep 17 00:00:00 2001 From: ayoub cherif Date: Thu, 3 Sep 2026 17:06:13 +0100 Subject: [PATCH 13/15] Add rootless Jitsi startup for PLF 7.3+ --- _functions_jitsi.sh | 233 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 200 insertions(+), 33 deletions(-) diff --git a/_functions_jitsi.sh b/_functions_jitsi.sh index b6c534d2..9ef96d46 100644 --- a/_functions_jitsi.sh +++ b/_functions_jitsi.sh @@ -15,18 +15,18 @@ elif test "${SCRIPT_DIR:0:1}" != "/"; then SCRIPT_DIR="$PWD/${SCRIPT_DIR}" fi -do_get_jitsi_settings() { +do_get_jitsi_settings() { if [ "${DEPLOYMENT_JITSI_ENABLED}" == "false" ]; then - return; + return fi - env_var DEPLOYMENT_JITSI_CALL_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_call" - env_var DEPLOYMENT_JITSI_WEB_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_web" - env_var DEPLOYMENT_JITSI_PROSODY_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_prosody" - env_var DEPLOYMENT_JITSI_JICOFO_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_jicofo" - env_var DEPLOYMENT_JITSI_JVB_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_jvb" - env_var DEPLOYMENT_JITSI_JIBRI_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_jibri" + env_var DEPLOYMENT_JITSI_CALL_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_call" + env_var DEPLOYMENT_JITSI_WEB_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_web" + env_var DEPLOYMENT_JITSI_PROSODY_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_prosody" + env_var DEPLOYMENT_JITSI_JICOFO_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_jicofo" + env_var DEPLOYMENT_JITSI_JVB_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_jvb" + env_var DEPLOYMENT_JITSI_JIBRI_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_jibri" env_var DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_excalidraw_backend" - env_var DEPLOYMENT_JITSI_NETWORK_NAME "$(tolower "${INSTANCE_KEY}").jitsi" + env_var DEPLOYMENT_JITSI_NETWORK_NAME "$(tolower "${INSTANCE_KEY}").jitsi" } # @@ -51,16 +51,15 @@ do_drop_jitsi_data() { delete_docker_container ${DEPLOYMENT_JITSI_JIBRI_CONTAINER_NAME} echo_info "Drops Jitsi excalidraw backend container ${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_CONTAINER_NAME} ..." delete_docker_container ${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_CONTAINER_NAME} - echo_info "Done." echo_info "Jitsi data dropped" else - echo_info "Skip Drops Jitsi container ..." + echo_info "Jitsi not enabled, skipping data drop" fi } do_create_jitsi() { if ${DEPLOYMENT_JITSI_ENABLED}; then - echo_info "Creation of the Jitsi Docker network ${DEPLOYMENT_JITSI_NETWORK_NAME} ..." + echo_info "Creating Jitsi Docker network ${DEPLOYMENT_JITSI_NETWORK_NAME} ..." create_docker_network ${DEPLOYMENT_JITSI_NETWORK_NAME} fi } @@ -68,7 +67,7 @@ do_create_jitsi() { do_stop_jitsi() { echo_info "Stopping Jitsi ..." if [ "${DEPLOYMENT_JITSI_ENABLED}" == "false" ]; then - echo_info "Jitsi wasn't specified, skiping its containers shutdown" + echo_info "Jitsi not enabled, skipping containers shutdown" return fi ensure_docker_container_stopped ${DEPLOYMENT_JITSI_CALL_CONTAINER_NAME} @@ -88,7 +87,13 @@ do_stop_jitsi() { echo_info "Done." } -do_start_jitsi() { + +# ############################################################################# +# Legacy startup — PLF < 7.3, root-based containers (jitsi stable-10888 and earlier) +# Image registry: jitsi/* (Docker Hub), exoplatform/jitsi-web +# jitsi-web nginx listens on 80 (http) / 443 (https) +# ############################################################################# +do_start_jitsi_legacy() { echo_info "Starting Jitsi..." if [ "${DEPLOYMENT_JITSI_ENABLED}" == "false" ]; then echo_info "Jitsi not specified, skiping its containers startup" @@ -132,7 +137,7 @@ do_start_jitsi() { --health-interval=30s \ --health-timeout=30s \ --health-retries=3 \ - --name ${DEPLOYMENT_JITSI_PROSODY_CONTAINER_NAME} ghcr.io/jitsi/prosody:${DEPLOYMENT_JITSI_IMAGE_VERSION} + --name ${DEPLOYMENT_JITSI_PROSODY_CONTAINER_NAME} jitsi/prosody:${DEPLOYMENT_JITSI_IMAGE_VERSION} echo_info "${DEPLOYMENT_JITSI_PROSODY_CONTAINER_NAME} container started" echo_info "Starting Jitsi Jicofo container ${DEPLOYMENT_JITSI_JICOFO_CONTAINER_NAME} based on image jitsi/jicofo:${DEPLOYMENT_JITSI_IMAGE_VERSION}" @@ -148,7 +153,7 @@ do_start_jitsi() { --health-interval=30s \ --health-timeout=30s \ --health-retries=3 \ - --name ${DEPLOYMENT_JITSI_JICOFO_CONTAINER_NAME} ghcr.io/jitsi/jicofo:"${DEPLOYMENT_JITSI_IMAGE_VERSION}" + --name ${DEPLOYMENT_JITSI_JICOFO_CONTAINER_NAME} jitsi/jicofo:"${DEPLOYMENT_JITSI_IMAGE_VERSION}" echo_info "${DEPLOYMENT_JITSI_JICOFO_CONTAINER_NAME} container started" echo_info "Starting Jitsi JVB container ${DEPLOYMENT_JITSI_JVB_CONTAINER_NAME} based on image jitsi/jvb:${DEPLOYMENT_JITSI_IMAGE_VERSION}" @@ -167,7 +172,7 @@ do_start_jitsi() { --health-interval=30s \ --health-timeout=30s \ --health-retries=3 \ - --name ${DEPLOYMENT_JITSI_JVB_CONTAINER_NAME} ghcr.io/jitsi/jvb:"${DEPLOYMENT_JITSI_IMAGE_VERSION}" + --name ${DEPLOYMENT_JITSI_JVB_CONTAINER_NAME} jitsi/jvb:"${DEPLOYMENT_JITSI_IMAGE_VERSION}" echo_info "${DEPLOYMENT_JITSI_JVB_CONTAINER_NAME} container started" echo_info "Starting Jitsi Jibri container ${DEPLOYMENT_JITSI_JIBRI_CONTAINER_NAME} based on image jitsi/jibri:${DEPLOYMENT_JITSI_IMAGE_VERSION}" @@ -176,6 +181,162 @@ do_start_jitsi() { cp -v ${ETC_DIR}/jitsi/finalize.sh ${DEPLOYMENT_DIR}/finalize.sh chmod +x ${DEPLOYMENT_DIR}/finalize.sh evaluate_file_content ${ETC_DIR}/jitsi/jibri/jibri.conf.j2 ${DEPLOYMENT_DIR}/jibri.conf + ${DOCKER_CMD} run \ + -d \ + -v /dev/shm:/dev/shm \ + -v ${DEPLOYMENT_DIR}/jibri.conf:/etc/jitsi/jibri/jibri.conf:ro \ + -v ${DEPLOYMENT_DIR}/finalize.sh:/tmp/finalize.sh \ + --memory "${DEPLOYMENT_JITSI_MEM_LIMIT}" \ + --cap-add SYS_ADMIN \ + --cap-add NET_BIND_SERVICE \ + --device /dev/snd \ + --shm-size=2gb \ + --env-file ${DEPLOYMENT_DIR}/jitsi.env \ + --network "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ + --restart unless-stopped \ + --health-cmd="curl --silent --fail http://127.0.0.1:2222/jibri/api/v1.0/health | jq -e '.status.health.healthStatus == \"HEALTHY\"' || exit 1" \ + --health-interval=30s \ + --health-timeout=30s \ + --health-retries=3 \ + --name ${DEPLOYMENT_JITSI_JIBRI_CONTAINER_NAME} jitsi/jibri:"${DEPLOYMENT_JITSI_IMAGE_VERSION}" + echo_info "${DEPLOYMENT_JITSI_JIBRI_CONTAINER_NAME} container started" + + echo_info "Starting Jitsi Web container ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} based on image exoplatform/jitsi-web:${DEPLOYMENT_JITSI_IMAGE_VERSION}" + # Ensure there is no container with the same name + delete_docker_container ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} + ${DOCKER_CMD} run \ + -d \ + -p "${DEPLOYMENT_JITSI_WEB_HTTP_PORT}:80" \ + -p "${DEPLOYMENT_JITSI_WEB_HTTPS_PORT}:443" \ + --env-file ${DEPLOYMENT_DIR}/jitsi.env \ + --network "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ + --network-alias "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ + --restart unless-stopped \ + --health-cmd="wget -qO /dev/null 127.0.0.1 || exit 1" \ + --health-interval=30s \ + --health-timeout=30s \ + --health-retries=3 \ + --name ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} exoplatform/jitsi-web:"${DEPLOYMENT_JITSI_IMAGE_VERSION}" + echo_info "${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} container started" + check_jitsi_web_availability + ${DOCKER_CMD} exec ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} bash -c "echo \"interfaceConfig['DEFAULT_LOGO_URL'] = '${DEPLOYMENT_URL}/jitsicall/images/logo.png';\" >> \"/config/interface_config.js\"" + ${DOCKER_CMD} exec ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} bash -c "echo \"interfaceConfig['JITSI_WATERMARK_LINK'] = '';\" >> \"/config/interface_config.js\"" + ${DOCKER_CMD} exec ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} bash -c "rm -fv /usr/share/jitsi-meet/sounds/recordingOff.mp3 /usr/share/jitsi-meet/sounds/recordingOn.mp3" + + echo_info "Starting Jitsi excalidraw backend container ${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_CONTAINER_NAME} based on image exoplatform/exo-excalidraw-backend:${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_IMAGE_VERSION}" + delete_docker_container ${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_CONTAINER_NAME} + ${DOCKER_CMD} run \ + -d \ + --init=true \ + -p "${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_PORT}:80" \ + --network "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ + --network-alias "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ + --restart unless-stopped \ + -h "jitsi-excalidraw-backend" \ + --health-cmd='wget -qO- http://jitsi-excalidraw-backend &> /dev/null || exit 1' \ + --health-interval=30s \ + --health-timeout=30s \ + --health-retries=3 \ + --name ${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_CONTAINER_NAME} jitsi/excalidraw-backend:"${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_IMAGE_VERSION}" + echo_info "${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_CONTAINER_NAME} container started" +} + +# ############################################################################# +# Rootless startup — PLF >= 7.3 (jitsi stable-11146 and later, uid 1000) +# Differences vs do_start_jitsi_legacy: +# - Image registry: ghcr.io/jitsi/* instead of Docker Hub jitsi/* +# - jitsi-web nginx listens on 8000 (http) / 8443 (https) instead of 80/443 +# - jitsi-web /config mounted as tmpfs (rootfs is read-only in rootless mode) +# - jitsi-web healthcheck targets port 8000 +# ############################################################################# +do_start_jitsi_rootless() { + echo_info "Starting Jitsi..." + if [ "${DEPLOYMENT_JITSI_ENABLED}" == "false" ]; then + echo_info "Jitsi not specified, skiping its containers startup" + return + fi + # TL;DR: export All envrionment variables included on this template + if [[ "$DEPLOYMENT_JITSI_IMAGE_VERSION" =~ ^stable-([0-9]+) ]]; then + build_number="${BASH_REMATCH[1]}" + jitsi_major_version=$(( build_number / 1000 )) + else + jitsi_major_version="10" # default latest version + fi + export DEPLOYMENT_URL DEPLOYMENT_JITSI_NETWORK_NAME DEPLOYMENT_JITSI_JVB_PORT jitsi_major_version + evaluate_file_content ${ETC_DIR}/jitsi/jitsi${jitsi_major_version}x.env.template ${DEPLOYMENT_DIR}/jitsi.env + echo_info "Starting Jitsi call container ${DEPLOYMENT_JITSI_CALL_CONTAINER_NAME} based on image ${DEPLOYMENT_JITSI_IMAGE}:${DEPLOYMENT_JITSI_CALL_IMAGE_VERSION:-latest}" + # Ensure there is no container with the same name + delete_docker_container ${DEPLOYMENT_JITSI_CALL_CONTAINER_NAME} + create_docker_network ${DEPLOYMENT_JITSI_NETWORK_NAME} + ${DOCKER_CMD} pull ${DEPLOYMENT_JITSI_IMAGE}:${DEPLOYMENT_JITSI_CALL_IMAGE_VERSION:-latest} + ${DOCKER_CMD} run \ + -d \ + -p "${DEPLOYMENT_JITSI_CALL_HTTP_PORT}:80" \ + --env-file ${DEPLOYMENT_DIR}/jitsi.env \ + --network "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ + --memory "${DEPLOYMENT_JITSI_MEM_LIMIT}" \ + --name ${DEPLOYMENT_JITSI_CALL_CONTAINER_NAME} ${DEPLOYMENT_JITSI_IMAGE}:${DEPLOYMENT_JITSI_CALL_IMAGE_VERSION:-latest} + echo_info "${DEPLOYMENT_JITSI_CALL_CONTAINER_NAME} container started" + check_jitsi_call_availability + + echo_info "Starting Jitsi prosody container ${DEPLOYMENT_JITSI_PROSODY_CONTAINER_NAME} based on image ghcr.io/jitsi/prosody:${DEPLOYMENT_JITSI_IMAGE_VERSION}" + # Ensure there is no container with the same name + delete_docker_container ${DEPLOYMENT_JITSI_PROSODY_CONTAINER_NAME} + ${DOCKER_CMD} run \ + -d \ + --env-file ${DEPLOYMENT_DIR}/jitsi.env \ + --network "${DEPLOYMENT_JITSI_NETWORK_NAME}" \ + --network-alias "xmpp.${DEPLOYMENT_JITSI_NETWORK_NAME}" \ + --restart unless-stopped \ + -h "jitsi-prosody" \ + --health-cmd="timeout 2 /bin/bash -c '> \"/config/interface_config.js\"" ${DOCKER_CMD} exec ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} bash -c "echo \"interfaceConfig['JITSI_WATERMARK_LINK'] = '';\" >> \"/config/interface_config.js\"" ${DOCKER_CMD} exec ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} bash -c "rm -fv /usr/share/jitsi-meet/sounds/recordingOff.mp3 /usr/share/jitsi-meet/sounds/recordingOn.mp3" - - echo_info "Starting Jitsi excalidraw backend container ${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_CONTAINER_NAME} based on image exoplatform/exo-excalidraw-backend:${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_IMAGE_VERSION}" + echo_info "Starting Jitsi excalidraw backend container ${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_CONTAINER_NAME} based on image exoplatform/exo-excalidraw-backend:${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_IMAGE_VERSION}" delete_docker_container ${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_CONTAINER_NAME} ${DOCKER_CMD} run \ -d \ @@ -239,6 +398,16 @@ do_start_jitsi() { echo_info "${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_CONTAINER_NAME} container started" } +do_start_jitsi() { + if [[ "${PRODUCT_VERSION}" =~ ^(7\.[3-9]|[89]\.|[1-9][0-9]\.) ]]; then + echo_info "PLF version ${PRODUCT_VERSION} > 7.3: using rootless Jitsi startup" + do_start_jitsi_rootless + else + echo_info "PLF version ${PRODUCT_VERSION} < 7.3: using legacy Jitsi startup" + do_start_jitsi_legacy + fi +} + check_jitsi_call_availability() { echo_info "Waiting for Jitsi Call availability on port ${DEPLOYMENT_JITSI_CALL_HTTP_PORT}" local count=0 @@ -247,47 +416,45 @@ check_jitsi_call_availability() { local RET=-1 while [ $count -lt $try -a $RET -ne 0 ]; do - count=$(( $count + 1 )) + count=$(( count + 1 )) set +e - - curl -s -q --max-time ${wait_time} http://localhost:${DEPLOYMENT_JITSI_CALL_HTTP_PORT} > /dev/null + curl -s -q --max-time ${wait_time} "http://localhost:${DEPLOYMENT_JITSI_CALL_HTTP_PORT}" > /dev/null RET=$? if [ $RET -ne 0 ]; then - [ $(( ${count} % 10 )) -eq 0 ] && echo_info "Jitsi Call not yet available (${count} / ${try})..." + [ $(( count % 10 )) -eq 0 ] && echo_info "Jitsi Call not yet available (${count} / ${try})..." echo -n "." sleep $wait_time fi set -e done if [ $count -eq $try ]; then - echo_error "Jitsi Call ${DEPLOYMENT_JITSI_CALL_CONTAINER_NAME} not available after $(( ${count} * ${wait_time}))s" + echo_error "Jitsi Call ${DEPLOYMENT_JITSI_CALL_CONTAINER_NAME} not available after $(( count * wait_time ))s" exit 1 fi echo_info "Jitsi Call ${DEPLOYMENT_JITSI_CALL_CONTAINER_NAME} up and available" } check_jitsi_web_availability() { - echo_info "Waiting for Jitsi Web availability on port ${DEPLOYMENT_JITSI_WEB_HTTPS_PORT}" + echo_info "Waiting for Jitsi Web availability on port ${DEPLOYMENT_JITSI_WEB_HTTP_PORT}" local count=0 local try=600 local wait_time=1 local RET=-1 while [ $count -lt $try -a $RET -ne 0 ]; do - count=$(( $count + 1 )) + count=$(( count + 1 )) set +e - - curl -s -q --max-time ${wait_time} http://localhost:${DEPLOYMENT_JITSI_WEB_HTTP_PORT} > /dev/null + curl -s -q --max-time ${wait_time} "http://localhost:${DEPLOYMENT_JITSI_WEB_HTTP_PORT}" > /dev/null RET=$? if [ $RET -ne 0 ]; then - [ $(( ${count} % 10 )) -eq 0 ] && echo_info "Jitsi Web not yet available (${count} / ${try})..." + [ $(( count % 10 )) -eq 0 ] && echo_info "Jitsi Web not yet available (${count} / ${try})..." echo -n "." sleep $wait_time fi set -e done if [ $count -eq $try ]; then - echo_error "Jitsi Web ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} not available after $(( ${count} * ${wait_time}))s" + echo_error "Jitsi Web ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} not available after $(( count * wait_time ))s" exit 1 fi echo_info "Jitsi Web ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} up and available" From 7bb5eb812249f5ee3131fac86718786d6c95f280 Mon Sep 17 00:00:00 2001 From: ayoub cherif Date: Fri, 4 Sep 2026 15:36:28 +0100 Subject: [PATCH 14/15] cleanup config --- _functions.sh | 2 +- _functions_jitsi.sh | 15 +++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/_functions.sh b/_functions.sh index 5862c7de..ad029e50 100755 --- a/_functions.sh +++ b/_functions.sh @@ -1139,7 +1139,7 @@ initialize_product_settings() { env_var "DEPLOYMENT_MYSQL_DEFAULT_VERSION" "8.4.9" # Default version of the mysql server to use env_var "DEPLOYMENT_POSTGRESQL_DEFAULT_VERSION" "17" # Default version of the postgresql server to use - configurable_env_var "DEPLOYMENT_JITSI_IMAGE_VERSION" "stable-11146-2" + configurable_env_var "DEPLOYMENT_JITSI_IMAGE_VERSION" "stable-10888" # TO DO Once onlyoffice/documentserver-ie:6.1 is released, switch to that image and use a fixed version diff --git a/_functions_jitsi.sh b/_functions_jitsi.sh index 9ef96d46..7bdd7c27 100644 --- a/_functions_jitsi.sh +++ b/_functions_jitsi.sh @@ -19,14 +19,14 @@ do_get_jitsi_settings() { if [ "${DEPLOYMENT_JITSI_ENABLED}" == "false" ]; then return fi - env_var DEPLOYMENT_JITSI_CALL_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_call" - env_var DEPLOYMENT_JITSI_WEB_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_web" - env_var DEPLOYMENT_JITSI_PROSODY_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_prosody" - env_var DEPLOYMENT_JITSI_JICOFO_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_jicofo" - env_var DEPLOYMENT_JITSI_JVB_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_jvb" - env_var DEPLOYMENT_JITSI_JIBRI_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_jibri" + env_var DEPLOYMENT_JITSI_CALL_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_call" + env_var DEPLOYMENT_JITSI_WEB_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_web" + env_var DEPLOYMENT_JITSI_PROSODY_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_prosody" + env_var DEPLOYMENT_JITSI_JICOFO_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_jicofo" + env_var DEPLOYMENT_JITSI_JVB_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_jvb" + env_var DEPLOYMENT_JITSI_JIBRI_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_jibri" env_var DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_excalidraw_backend" - env_var DEPLOYMENT_JITSI_NETWORK_NAME "$(tolower "${INSTANCE_KEY}").jitsi" + env_var DEPLOYMENT_JITSI_NETWORK_NAME "$(tolower "${INSTANCE_KEY}").jitsi" } # @@ -90,7 +90,6 @@ do_stop_jitsi() { # ############################################################################# # Legacy startup — PLF < 7.3, root-based containers (jitsi stable-10888 and earlier) -# Image registry: jitsi/* (Docker Hub), exoplatform/jitsi-web # jitsi-web nginx listens on 80 (http) / 443 (https) # ############################################################################# do_start_jitsi_legacy() { From 4875abf8a4fc90ef4d2d8467e22497ba828356f3 Mon Sep 17 00:00:00 2001 From: ayoub cherif Date: Fri, 4 Sep 2026 16:42:51 +0100 Subject: [PATCH 15/15] forces remove mp3 files --- _functions_jitsi.sh | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/_functions_jitsi.sh b/_functions_jitsi.sh index 7bdd7c27..7776dc26 100644 --- a/_functions_jitsi.sh +++ b/_functions_jitsi.sh @@ -17,7 +17,7 @@ fi do_get_jitsi_settings() { if [ "${DEPLOYMENT_JITSI_ENABLED}" == "false" ]; then - return + return; fi env_var DEPLOYMENT_JITSI_CALL_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_call" env_var DEPLOYMENT_JITSI_WEB_CONTAINER_NAME "${INSTANCE_KEY}_jitsi_web" @@ -51,15 +51,16 @@ do_drop_jitsi_data() { delete_docker_container ${DEPLOYMENT_JITSI_JIBRI_CONTAINER_NAME} echo_info "Drops Jitsi excalidraw backend container ${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_CONTAINER_NAME} ..." delete_docker_container ${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_CONTAINER_NAME} + echo_info "Done." echo_info "Jitsi data dropped" else - echo_info "Jitsi not enabled, skipping data drop" + echo_info "Skip Drops Jitsi container ..." fi } do_create_jitsi() { if ${DEPLOYMENT_JITSI_ENABLED}; then - echo_info "Creating Jitsi Docker network ${DEPLOYMENT_JITSI_NETWORK_NAME} ..." + echo_info "Creation of the Jitsi Docker network ${DEPLOYMENT_JITSI_NETWORK_NAME} ..." create_docker_network ${DEPLOYMENT_JITSI_NETWORK_NAME} fi } @@ -67,7 +68,7 @@ do_create_jitsi() { do_stop_jitsi() { echo_info "Stopping Jitsi ..." if [ "${DEPLOYMENT_JITSI_ENABLED}" == "false" ]; then - echo_info "Jitsi not enabled, skipping containers shutdown" + echo_info "Jitsi wasn't specified, skiping its containers shutdown" return fi ensure_docker_container_stopped ${DEPLOYMENT_JITSI_CALL_CONTAINER_NAME} @@ -377,7 +378,7 @@ do_start_jitsi_rootless() { check_jitsi_web_availability ${DOCKER_CMD} exec ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} bash -c "echo \"interfaceConfig['DEFAULT_LOGO_URL'] = '${DEPLOYMENT_URL}/jitsicall/images/logo.png';\" >> \"/config/interface_config.js\"" ${DOCKER_CMD} exec ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} bash -c "echo \"interfaceConfig['JITSI_WATERMARK_LINK'] = '';\" >> \"/config/interface_config.js\"" - ${DOCKER_CMD} exec ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} bash -c "rm -fv /usr/share/jitsi-meet/sounds/recordingOff.mp3 /usr/share/jitsi-meet/sounds/recordingOn.mp3" + ${DOCKER_CMD} exec ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} bash -c "rm -fv /usr/share/jitsi-meet/sounds/recordingOff.mp3 /usr/share/jitsi-meet/sounds/recordingOn.mp3 || true" echo_info "Starting Jitsi excalidraw backend container ${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_CONTAINER_NAME} based on image exoplatform/exo-excalidraw-backend:${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_IMAGE_VERSION}" delete_docker_container ${DEPLOYMENT_JITSI_EXCALIDRAW_BACKEND_CONTAINER_NAME} @@ -415,45 +416,45 @@ check_jitsi_call_availability() { local RET=-1 while [ $count -lt $try -a $RET -ne 0 ]; do - count=$(( count + 1 )) + count=$(( $count + 1 )) set +e - curl -s -q --max-time ${wait_time} "http://localhost:${DEPLOYMENT_JITSI_CALL_HTTP_PORT}" > /dev/null + curl -s -q --max-time ${wait_time} http://localhost:${DEPLOYMENT_JITSI_CALL_HTTP_PORT} > /dev/null RET=$? if [ $RET -ne 0 ]; then - [ $(( count % 10 )) -eq 0 ] && echo_info "Jitsi Call not yet available (${count} / ${try})..." + [ $(( ${count} % 10 )) -eq 0 ] && echo_info "Jitsi Call not yet available (${count} / ${try})..." echo -n "." sleep $wait_time fi set -e done if [ $count -eq $try ]; then - echo_error "Jitsi Call ${DEPLOYMENT_JITSI_CALL_CONTAINER_NAME} not available after $(( count * wait_time ))s" + echo_error "Jitsi Call ${DEPLOYMENT_JITSI_CALL_CONTAINER_NAME} not available after $(( ${count} * ${wait_time}))s" exit 1 fi echo_info "Jitsi Call ${DEPLOYMENT_JITSI_CALL_CONTAINER_NAME} up and available" } check_jitsi_web_availability() { - echo_info "Waiting for Jitsi Web availability on port ${DEPLOYMENT_JITSI_WEB_HTTP_PORT}" + echo_info "Waiting for Jitsi Web availability on port ${DEPLOYMENT_JITSI_WEB_HTTPS_PORT}" local count=0 local try=600 local wait_time=1 local RET=-1 while [ $count -lt $try -a $RET -ne 0 ]; do - count=$(( count + 1 )) + count=$(( $count + 1 )) set +e - curl -s -q --max-time ${wait_time} "http://localhost:${DEPLOYMENT_JITSI_WEB_HTTP_PORT}" > /dev/null + curl -s -q --max-time ${wait_time} http://localhost:${DEPLOYMENT_JITSI_WEB_HTTP_PORT} > /dev/null RET=$? if [ $RET -ne 0 ]; then - [ $(( count % 10 )) -eq 0 ] && echo_info "Jitsi Web not yet available (${count} / ${try})..." + [ $(( ${count} % 10 )) -eq 0 ] && echo_info "Jitsi Web not yet available (${count} / ${try})..." echo -n "." sleep $wait_time fi set -e done if [ $count -eq $try ]; then - echo_error "Jitsi Web ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} not available after $(( count * wait_time ))s" + echo_error "Jitsi Web ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} not available after $(( ${count} * ${wait_time}))s" exit 1 fi echo_info "Jitsi Web ${DEPLOYMENT_JITSI_WEB_CONTAINER_NAME} up and available"