From 0298a30ca68b94e8e66731767b716b45e23ffdd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Mon, 29 Apr 2024 18:43:49 +0200 Subject: [PATCH 01/37] misc: working on unstable --- docker-compose.yml | 8 ++++---- jibri.yml | 2 +- jigasi.yml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 047e6739a7..309bff35f4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.5' services: # Frontend web: - image: jitsi/web:${JITSI_IMAGE_VERSION:-stable-9457-2} + image: jitsi/web:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${HTTP_PORT}:80' @@ -180,7 +180,7 @@ services: # XMPP server prosody: - image: jitsi/prosody:${JITSI_IMAGE_VERSION:-stable-9457-2} + image: jitsi/prosody:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} expose: - '${XMPP_PORT:-5222}' @@ -313,7 +313,7 @@ services: # Focus component jicofo: - image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-stable-9457-2} + image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} ports: - '127.0.0.1:${JICOFO_REST_PORT:-8888}:8888' @@ -396,7 +396,7 @@ services: # Video bridge jvb: - image: jitsi/jvb:${JITSI_IMAGE_VERSION:-stable-9457-2} + image: jitsi/jvb:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${JVB_PORT:-10000}:${JVB_PORT:-10000}/udp' diff --git a/jibri.yml b/jibri.yml index 4a8a77ed4c..65c7d103e1 100644 --- a/jibri.yml +++ b/jibri.yml @@ -2,7 +2,7 @@ version: '3.5' services: jibri: - image: jitsi/jibri:${JITSI_IMAGE_VERSION:-stable-9457-2} + image: jitsi/jibri:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} volumes: - ${CONFIG}/jibri:/config:Z diff --git a/jigasi.yml b/jigasi.yml index 7aade4d6d3..3ad1d3f658 100644 --- a/jigasi.yml +++ b/jigasi.yml @@ -3,7 +3,7 @@ version: '3.5' services: # SIP gateway (audio) jigasi: - image: jitsi/jigasi:${JITSI_IMAGE_VERSION:-stable-9457-2} + image: jitsi/jigasi:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${JIGASI_PORT_MIN:-20000}-${JIGASI_PORT_MAX:-20050}:${JIGASI_PORT_MIN:-20000}-${JIGASI_PORT_MAX:-20050}/udp' From 76ffaa7c53db909de6dd2ff49705930b90597191 Mon Sep 17 00:00:00 2001 From: Serge Tkatchouk Date: Tue, 7 May 2024 17:16:45 +0800 Subject: [PATCH 02/37] jicofo, jvb: fix OCTO + SCTP behaviour Fixes: https://github.com/jitsi/docker-jitsi-meet/issues/1787 --- jicofo/rootfs/defaults/jicofo.conf | 6 +++--- jvb/rootfs/etc/cont-init.d/10-config | 6 ------ 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/jicofo/rootfs/defaults/jicofo.conf b/jicofo/rootfs/defaults/jicofo.conf index 6e25c36f60..0fdbf0e903 100644 --- a/jicofo/rootfs/defaults/jicofo.conf +++ b/jicofo/rootfs/defaults/jicofo.conf @@ -7,7 +7,7 @@ {{ $ENABLE_SCTP := .Env.ENABLE_SCTP | default "0" | toBool -}} {{ $ENABLE_RECORDING := .Env.ENABLE_RECORDING | default "0" | toBool -}} {{ $ENABLE_OCTO := .Env.ENABLE_OCTO | default "0" | toBool -}} -{{ $ENABLE_OCTO_SCTP := .Env.ENABLE_OCTO_SCTP | default (.Env.ENABLE_SCTP | default "0") | toBool -}} +{{ $ENABLE_OCTO_SCTP := .Env.ENABLE_OCTO_SCTP | default $ENABLE_SCTP | toBool -}} {{ $ENABLE_AUTO_LOGIN := .Env.ENABLE_AUTO_LOGIN | default "1" | toBool -}} {{ $ENABLE_REST := .Env.JICOFO_ENABLE_REST | default "0" | toBool -}} {{ $ENABLE_JVB_XMPP_SERVER := .Env.ENABLE_JVB_XMPP_SERVER | default "0" | toBool -}} @@ -288,8 +288,8 @@ jicofo { disable-certificate-verification = true } {{ end }} - + trusted-domains = [ {{ range $index, $element := $TRUSTED_DOMAINS }}{{ if gt $index 0 }},{{ end }}"{{ $element }}"{{ end}} ] - + } } diff --git a/jvb/rootfs/etc/cont-init.d/10-config b/jvb/rootfs/etc/cont-init.d/10-config index 5e65dff575..54a8a5247f 100644 --- a/jvb/rootfs/etc/cont-init.d/10-config +++ b/jvb/rootfs/etc/cont-init.d/10-config @@ -72,9 +72,3 @@ tpl /defaults/logging.properties > /config/logging.properties tpl /defaults/jvb.conf > /config/jvb.conf chown -R jvb:jitsi /config - -# Configuration checks -if [[ (-z $ENABLE_COLIBRI_WEBSOCKET || $ENABLE_COLIBRI_WEBSOCKET == "0") && $ENABLE_OCTO == "1" ]]; then - echo "ERROR: In order to enable Octo relays (with ENABLE_OCTO=1), you MUST enable Colibri websockets (with ENABLE_COLIBRI_WEBSOCKET=1)"; - exit 1; -fi From 77ce86a995405e32633cc9e7490f07c150ae4f26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Wed, 15 May 2024 22:03:37 +0200 Subject: [PATCH 03/37] jvb: add ability to enable SCTP datachannels --- docker-compose.yml | 1 + jvb/rootfs/defaults/jvb.conf | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 309bff35f4..674b026974 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -417,6 +417,7 @@ services: - ENABLE_COLIBRI_WEBSOCKET - ENABLE_JVB_XMPP_SERVER - ENABLE_OCTO + - ENABLE_SCTP - JVB_ADVERTISE_IPS - JVB_ADVERTISE_PRIVATE_CANDIDATES - JVB_AUTH_USER diff --git a/jvb/rootfs/defaults/jvb.conf b/jvb/rootfs/defaults/jvb.conf index 55bcd71ae0..5705c24274 100644 --- a/jvb/rootfs/defaults/jvb.conf +++ b/jvb/rootfs/defaults/jvb.conf @@ -1,6 +1,7 @@ {{ $COLIBRI_REST_ENABLED := .Env.COLIBRI_REST_ENABLED | default "false" | toBool -}} {{ $ENABLE_COLIBRI_WEBSOCKET := .Env.ENABLE_COLIBRI_WEBSOCKET | default "1" | toBool -}} {{ $ENABLE_OCTO := .Env.ENABLE_OCTO | default "0" | toBool -}} +{{ $ENABLE_SCTP := .Env.ENABLE_SCTP | default "0" | toBool -}} {{ $ENABLE_JVB_XMPP_SERVER := .Env.ENABLE_JVB_XMPP_SERVER | default "0" | toBool }} {{ $JVB_DISABLE_STUN := .Env.JVB_DISABLE_STUN | default "0" | toBool -}} {{ $JVB_STUN_SERVERS := .Env.JVB_STUN_SERVERS | default "meet-jit-si-turnrelay.jitsi.net:443" -}} @@ -78,6 +79,9 @@ videobridge { enabled = {{ $SHUTDOWN_REST_ENABLED }} } } + sctp { + enabled = {{ $ENABLE_SCTP }} + } stats { enabled = true } From 79a4635ed29777e57e15e4e22f42027315a08e59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Wed, 15 May 2024 22:04:11 +0200 Subject: [PATCH 04/37] jvb: add ability to disable XMPP In case the REST API is the only API that is going to be used. --- docker-compose.yml | 1 + jvb/rootfs/defaults/jvb.conf | 5 ++++- jvb/rootfs/etc/cont-init.d/10-config | 32 +++++++++++++++------------- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 674b026974..abb4208b41 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -424,6 +424,7 @@ services: - JVB_AUTH_PASSWORD - JVB_BREWERY_MUC - JVB_DISABLE_STUN + - JVB_DISABLE_XMPP - JVB_INSTANCE_ID - JVB_PORT - JVB_MUC_NICKNAME diff --git a/jvb/rootfs/defaults/jvb.conf b/jvb/rootfs/defaults/jvb.conf index 5705c24274..d1be4a8a18 100644 --- a/jvb/rootfs/defaults/jvb.conf +++ b/jvb/rootfs/defaults/jvb.conf @@ -1,4 +1,5 @@ {{ $COLIBRI_REST_ENABLED := .Env.COLIBRI_REST_ENABLED | default "false" | toBool -}} +{{ $DISABLE_XMPP := .Env.JVB_DISABLE_XMPP | default "0" | toBool -}} {{ $ENABLE_COLIBRI_WEBSOCKET := .Env.ENABLE_COLIBRI_WEBSOCKET | default "1" | toBool -}} {{ $ENABLE_OCTO := .Env.ENABLE_OCTO | default "0" | toBool -}} {{ $ENABLE_SCTP := .Env.ENABLE_SCTP | default "0" | toBool -}} @@ -37,6 +38,7 @@ videobridge { advertise-private-candidates = {{ $JVB_ADVERTISE_PRIVATE_CANDIDATES }} } apis { +{{ if not $DISABLE_XMPP -}} xmpp-client { configs { {{ if $ENABLE_JVB_XMPP_SERVER }} @@ -67,9 +69,10 @@ videobridge { DISABLE_CERTIFICATE_VERIFICATION = true } {{ end -}} -{{ end }} +{{ end -}} } } +{{ end -}} rest { enabled = {{ $COLIBRI_REST_ENABLED }} } diff --git a/jvb/rootfs/etc/cont-init.d/10-config b/jvb/rootfs/etc/cont-init.d/10-config index 54a8a5247f..1a001fbe94 100644 --- a/jvb/rootfs/etc/cont-init.d/10-config +++ b/jvb/rootfs/etc/cont-init.d/10-config @@ -1,17 +1,24 @@ #!/usr/bin/with-contenv bash -if [[ -z $JVB_AUTH_PASSWORD ]]; then - echo 'FATAL ERROR: JVB auth password must be set' - exit 1 -fi +if [[ -z $JVB_DISABLE_XMPP ]]; then + if [[ -z $JVB_AUTH_PASSWORD ]]; then + echo 'FATAL ERROR: JVB auth password must be set' + exit 1 + fi -OLD_JVB_AUTH_PASSWORD=passw0rd -if [[ "$JVB_AUTH_PASSWORD" == "$OLD_JVB_AUTH_PASSWORD" ]]; then - echo 'FATAL ERROR: JVB auth password must be changed, check the README' - exit 1 -fi + OLD_JVB_AUTH_PASSWORD=passw0rd + if [[ "$JVB_AUTH_PASSWORD" == "$OLD_JVB_AUTH_PASSWORD" ]]; then + echo 'FATAL ERROR: JVB auth password must be changed, check the README' + exit 1 + fi -[ -z "${XMPP_SERVER}" ] && export XMPP_SERVER=xmpp.meet.jitsi + [ -z "${XMPP_SERVER}" ] && export XMPP_SERVER=xmpp.meet.jitsi + + # On environments like Swarm the IP address used by the default gateway need not be + # the one used for inter-container traffic. Use that one for our fallback ID. + XMPP_SERVER_IP=$(dig +short +search ${XMPP_SERVER}) + export JVB_WS_SERVER_ID_FALLBACK=$(ip route get ${XMPP_SERVER_IP} | grep -oP '(?<=src ).*' | awk '{ print $1 '}) +fi # Migration from DOCKER_HOST_ADDRESS to JVB_ADVERTISE_IPS if [[ -z "${JVB_ADVERTISE_IPS}" ]]; then @@ -21,11 +28,6 @@ if [[ -z "${JVB_ADVERTISE_IPS}" ]]; then fi fi -# On environments like Swarm the IP address used by the default gateway need not be -# the one used for inter-container traffic. Use that one for our fallback ID. -XMPP_SERVER_IP=$(dig +short +search ${XMPP_SERVER}) -export JVB_WS_SERVER_ID_FALLBACK=$(ip route get ${XMPP_SERVER_IP} | grep -oP '(?<=src ).*' | awk '{ print $1 '}) - # Local IP for the ice4j mapping harvester. export LOCAL_ADDRESS=$(ip route get 1 | grep -oP '(?<=src ).*' | awk '{ print $1 '}) From 9a548430d9eaa4d0024787f746fd1a47d5ce7c14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Wed, 15 May 2024 22:04:56 +0200 Subject: [PATCH 05/37] jvb: add ability to configure the TLS option for colibri WS --- docker-compose.yml | 1 + jvb/rootfs/defaults/jvb.conf | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index abb4208b41..0d33d541a4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -436,6 +436,7 @@ services: - JVB_REQUIRE_VALID_ADDRESS - JVB_WS_DOMAIN - JVB_WS_SERVER_ID + - JVB_WS_TLS - JVB_XMPP_AUTH_DOMAIN - JVB_XMPP_INTERNAL_MUC_DOMAIN - JVB_XMPP_PORT diff --git a/jvb/rootfs/defaults/jvb.conf b/jvb/rootfs/defaults/jvb.conf index d1be4a8a18..90dfc2e010 100644 --- a/jvb/rootfs/defaults/jvb.conf +++ b/jvb/rootfs/defaults/jvb.conf @@ -22,6 +22,7 @@ {{ $SHUTDOWN_REST_ENABLED := .Env.SHUTDOWN_REST_ENABLED | default "false" | toBool -}} {{ $WS_DOMAIN := .Env.JVB_WS_DOMAIN | default $PUBLIC_URL_DOMAIN -}} {{ $WS_SERVER_ID := .Env.JVB_WS_SERVER_ID | default .Env.JVB_WS_SERVER_ID_FALLBACK -}} +{{ $WS_TLS := .Env.JVB_WS_TLS | default "1" | toBool -}} {{ $XMPP_AUTH_DOMAIN := .Env.XMPP_AUTH_DOMAIN | default "auth.meet.jitsi" -}} {{ $XMPP_INTERNAL_MUC_DOMAIN := .Env.XMPP_INTERNAL_MUC_DOMAIN | default "internal-muc.meet.jitsi" -}} {{ $XMPP_PORT := .Env.XMPP_PORT | default "5222" -}} @@ -91,7 +92,7 @@ videobridge { websockets { enabled = {{ $ENABLE_COLIBRI_WEBSOCKET }} domain = "{{ $WS_DOMAIN }}" - tls = true + tls = {{ $WS_TLS }} server-id = "{{ $WS_SERVER_ID }}" } http-servers { From 59c4eb2af8abfa36e102e485d167c595944cf9c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Wed, 15 May 2024 22:58:19 +0200 Subject: [PATCH 06/37] jvb: add fallback WS server ID When XMPP is not used there is no value set. --- jvb/rootfs/defaults/jvb.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jvb/rootfs/defaults/jvb.conf b/jvb/rootfs/defaults/jvb.conf index 90dfc2e010..111f00a8c9 100644 --- a/jvb/rootfs/defaults/jvb.conf +++ b/jvb/rootfs/defaults/jvb.conf @@ -21,7 +21,7 @@ {{ $PUBLIC_URL_DOMAIN := .Env.PUBLIC_URL | default "https://localhost:8443" | trimPrefix "https://" | trimSuffix "/" -}} {{ $SHUTDOWN_REST_ENABLED := .Env.SHUTDOWN_REST_ENABLED | default "false" | toBool -}} {{ $WS_DOMAIN := .Env.JVB_WS_DOMAIN | default $PUBLIC_URL_DOMAIN -}} -{{ $WS_SERVER_ID := .Env.JVB_WS_SERVER_ID | default .Env.JVB_WS_SERVER_ID_FALLBACK -}} +{{ $WS_SERVER_ID := .Env.JVB_WS_SERVER_ID | default .Env.JVB_WS_SERVER_ID_FALLBACK | default "default" -}} {{ $WS_TLS := .Env.JVB_WS_TLS | default "1" | toBool -}} {{ $XMPP_AUTH_DOMAIN := .Env.XMPP_AUTH_DOMAIN | default "auth.meet.jitsi" -}} {{ $XMPP_INTERNAL_MUC_DOMAIN := .Env.XMPP_INTERNAL_MUC_DOMAIN | default "internal-muc.meet.jitsi" -}} From 731d6d13b88b9c74877312f2f0d0250e9894de18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Fri, 17 May 2024 09:45:25 +0200 Subject: [PATCH 07/37] base: update tpl to make toBool more resilient Fixes: https://github.com/jitsi/docker-jitsi-meet/issues/1804 --- base/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base/Dockerfile b/base/Dockerfile index 463bd21a6d..61c3cb7c9e 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -14,7 +14,7 @@ RUN \ esac && \ apt-dpkg-wrap apt-get update && \ apt-dpkg-wrap apt-get install -y apt-transport-https apt-utils ca-certificates gnupg wget && \ - wget -qO /usr/bin/tpl https://github.com/jitsi/tpl/releases/download/v1.1.1/tpl-linux-${TPL_ARCH} && \ + wget -qO /usr/bin/tpl https://github.com/jitsi/tpl/releases/download/v1.2.0/tpl-linux-${TPL_ARCH} && \ # Workaround S6 bug when /bin is a symlink wget -qO /tmp/s6.tar.gz https://github.com/just-containers/s6-overlay/releases/download/v1.22.1.0/s6-overlay-${S6_ARCH}.tar.gz && \ mkdir /tmp/s6 && \ From f2b2cc445d30277ef72a529ae478118d0e0262f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Fri, 17 May 2024 11:14:10 +0200 Subject: [PATCH 08/37] etherpad: update image version and settings --- env.example | 12 ------------ etherpad.yml | 10 +++++----- 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/env.example b/env.example index 30dafb31a9..485649c572 100644 --- a/env.example +++ b/env.example @@ -79,18 +79,6 @@ TZ=UTC # Set etherpad-lite public URL, including /p/ pad path fragment (uncomment to enable) #ETHERPAD_PUBLIC_URL=https://etherpad.my.domain/p/ -# Name your etherpad instance! -ETHERPAD_TITLE="Video Chat" - -# The default text of a pad -ETHERPAD_DEFAULT_PAD_TEXT="Welcome to Web Chat!\n\n" - -# Name of the skin for etherpad -ETHERPAD_SKIN_NAME=colibris - -# Skin variants for etherpad -ETHERPAD_SKIN_VARIANTS="super-light-toolbar super-light-editor light-background full-width-editor" - # # Basic Jigasi configuration options (needed for SIP gateway support) diff --git a/etherpad.yml b/etherpad.yml index e6bd397022..a6eb692a2c 100644 --- a/etherpad.yml +++ b/etherpad.yml @@ -3,13 +3,13 @@ version: '3.5' services: # Etherpad: real-time collaborative document editing etherpad: - image: etherpad/etherpad:1.9.6 + image: etherpad/etherpad:2.0.3 restart: ${RESTART_POLICY:-unless-stopped} environment: - - TITLE=${ETHERPAD_TITLE} - - DEFAULT_PAD_TEXT=${ETHERPAD_DEFAULT_PAD_TEXT} - - SKIN_NAME=${ETHERPAD_SKIN_NAME} - - SKIN_VARIANTS=${ETHERPAD_SKIN_VARIANTS} + - TITLE=${ETHERPAD_TITLE:-""} + - DEFAULT_PAD_TEXT=${ETHERPAD_DEFAULT_PAD_TEXT:-""} + - SKIN_NAME=${ETHERPAD_SKIN_NAME:-colibris} + - SKIN_VARIANTS=${ETHERPAD_SKIN_VARIANTS:-"super-light-toolbar super-light-editor light-background full-width-editor"} - SUPPRESS_ERRORS_IN_PAD_TEXT=true networks: meet.jitsi: From 726b0f063656ffe98a751fe25dd407b43bdcad70 Mon Sep 17 00:00:00 2001 From: Aaron van Meerten Date: Tue, 21 May 2024 16:09:08 -0500 Subject: [PATCH 09/37] jibri: adds autoscaler sidecar hook to signal final shutdown (#1810) --- jibri/rootfs/defaults/autoscaler-sidecar.config | 2 +- jibri/rootfs/opt/jitsi/shutdown.sh | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100755 jibri/rootfs/opt/jitsi/shutdown.sh diff --git a/jibri/rootfs/defaults/autoscaler-sidecar.config b/jibri/rootfs/defaults/autoscaler-sidecar.config index a83173f1c5..d40d3f3941 100644 --- a/jibri/rootfs/defaults/autoscaler-sidecar.config +++ b/jibri/rootfs/defaults/autoscaler-sidecar.config @@ -5,7 +5,7 @@ export SHUTDOWN_POLLING_INTERVAL={{ $SHUTDOWN_POLLING_INTERVAL }} export STATS_POLLING_INTERVAL={{ $STATS_POLLING_INTERVAL }} export PORT={{ .Env.AUTOSCALER_SIDECAR_PORT }} export GRACEFUL_SHUTDOWN_SCRIPT="/opt/jitsi/jibri/wait_graceful_shutdown.sh" -export TERMINATE_SCRIPT="/opt/jitsi/jibri/shutdown.sh" +export TERMINATE_SCRIPT="/opt/jitsi/shutdown.sh" export ENABLE_REPORT_STATS=true export POLLING_URL="{{ .Env.AUTOSCALER_URL }}/sidecar/poll" export STATUS_URL="{{ .Env.AUTOSCALER_URL }}/sidecar/status" diff --git a/jibri/rootfs/opt/jitsi/shutdown.sh b/jibri/rootfs/opt/jitsi/shutdown.sh new file mode 100755 index 0000000000..1cc01e4081 --- /dev/null +++ b/jibri/rootfs/opt/jitsi/shutdown.sh @@ -0,0 +1,11 @@ +#!/usr/bin/with-contenv bash +# notify the sidecar of imminent shutdown +PORT=${AUTOSCALER_SIDECAR_PORT:-6000} +curl -d '{}' -v 0:$PORT/hook/v1/shutdown +sleep 10 + +# signal jibri to shutdown via rest api +/opt/jitsi/jibri/shutdown.sh + +# shutdown everything else +s6-svscanctl -t /var/run/s6/services From cacee4ecc817361905f04930f24ff2273502972a Mon Sep 17 00:00:00 2001 From: Aaron van Meerten Date: Tue, 21 May 2024 16:09:20 -0500 Subject: [PATCH 10/37] jvb: adds autoscaler sidecar hook to signal final shutdown (#1809) * jvb: adds autoscaler sidecar hook to signal final shutdown * cleaner ports --- jvb/rootfs/opt/jitsi/shutdown.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/jvb/rootfs/opt/jitsi/shutdown.sh b/jvb/rootfs/opt/jitsi/shutdown.sh index d7808909ab..0464acbc97 100755 --- a/jvb/rootfs/opt/jitsi/shutdown.sh +++ b/jvb/rootfs/opt/jitsi/shutdown.sh @@ -1,4 +1,8 @@ #!/usr/bin/with-contenv bash +# notify the sidecar of imminent shutdown +PORT=${AUTOSCALER_SIDECAR_PORT:-6000} +curl -d '{}' -v 0:$PORT/hook/v1/shutdown +sleep 10 # shutdown everything s6-svscanctl -t /var/run/s6/services From 1d3c0f13a3883d990ab1c0551059f6f1d5135876 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Thu, 30 May 2024 19:07:35 +0200 Subject: [PATCH 11/37] jibri: fail to start if the SYS_ADMIN cap is missing (#1816) The container will refuse to start and provide some useful information to the user: ``` docker-jitsi-meet-jibri-1 | cap[cap_sys_admin] not permitted docker-jitsi-meet-jibri-1 | Required capability SYS_ADMIN is missing docker-jitsi-meet-jibri-1 | [cont-init.d] 10-config: exited 1. docker-jitsi-meet-jibri-1 | [cont-finish.d] executing container finish scripts... docker-jitsi-meet-jibri-1 | [cont-finish.d] done. docker-jitsi-meet-jibri-1 | [s6-finish] waiting for services. ``` --- jibri/Dockerfile | 15 ++++++++++++++- jibri/rootfs/etc/cont-init.d/10-config | 6 ++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/jibri/Dockerfile b/jibri/Dockerfile index 2e90d2271c..4bab2aed16 100644 --- a/jibri/Dockerfile +++ b/jibri/Dockerfile @@ -16,7 +16,20 @@ ARG CHROME_RELEASE=121.0.6167.85 COPY rootfs/ / RUN apt-dpkg-wrap apt-get update && \ - apt-dpkg-wrap apt-get install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" jibri libgl1-mesa-dri procps jitsi-upload-integrations jitsi-autoscaler-sidecar jq pulseaudio dbus dbus-x11 rtkit unzip fonts-noto && \ + apt-dpkg-wrap apt-get install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" \ + jibri \ + libgl1-mesa-dri \ + procps \ + jitsi-upload-integrations \ + jitsi-autoscaler-sidecar \ + jq \ + pulseaudio \ + dbus \ + dbus-x11 \ + rtkit \ + unzip \ + fonts-noto \ + libcap2-bin && \ /usr/bin/install-chrome.sh && \ apt-cleanup && \ adduser jibri rtkit && \ diff --git a/jibri/rootfs/etc/cont-init.d/10-config b/jibri/rootfs/etc/cont-init.d/10-config index 7f9a0ceb87..d1ea95cba2 100644 --- a/jibri/rootfs/etc/cont-init.d/10-config +++ b/jibri/rootfs/etc/cont-init.d/10-config @@ -1,5 +1,11 @@ #!/usr/bin/with-contenv bash +# Check if the SYS_ADMIN cap is set +if ! capsh --has-p=cap_sys_admin; then + echo "Required capability SYS_ADMIN is missing" + exit 1 +fi + # Check if /dev/shm is large enough (2GB at least) if ! shm-check; then echo "/dev/shm must be at least 2GB in size" From 7c8763f51758fb98357f46936de1838a4e50446b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Tue, 11 Jun 2024 16:40:03 +0200 Subject: [PATCH 12/37] base: update tpl to version 1.3.0 Fixes: https://github.com/jitsi/docker-jitsi-meet/issues/1821 --- base/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base/Dockerfile b/base/Dockerfile index 61c3cb7c9e..6329f15029 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -14,7 +14,7 @@ RUN \ esac && \ apt-dpkg-wrap apt-get update && \ apt-dpkg-wrap apt-get install -y apt-transport-https apt-utils ca-certificates gnupg wget && \ - wget -qO /usr/bin/tpl https://github.com/jitsi/tpl/releases/download/v1.2.0/tpl-linux-${TPL_ARCH} && \ + wget -qO /usr/bin/tpl https://github.com/jitsi/tpl/releases/download/v1.3.0/tpl-linux-${TPL_ARCH} && \ # Workaround S6 bug when /bin is a symlink wget -qO /tmp/s6.tar.gz https://github.com/just-containers/s6-overlay/releases/download/v1.22.1.0/s6-overlay-${S6_ARCH}.tar.gz && \ mkdir /tmp/s6 && \ From 55c975fca0cd62d6da04a37750507d57b2ab056d Mon Sep 17 00:00:00 2001 From: Aaron van Meerten Date: Tue, 18 Jun 2024 10:55:25 -0400 Subject: [PATCH 13/37] fix(jicofo): use integer for port value to fix addition (#1826) * fix(jicofo,prosody): use integer for port value to fix addition --- jicofo/rootfs/defaults/jicofo.conf | 2 +- prosody/rootfs/defaults/prosody.cfg.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jicofo/rootfs/defaults/jicofo.conf b/jicofo/rootfs/defaults/jicofo.conf index 0fdbf0e903..82b9296134 100644 --- a/jicofo/rootfs/defaults/jicofo.conf +++ b/jicofo/rootfs/defaults/jicofo.conf @@ -27,7 +27,7 @@ {{ $VISITORS_XMPP_DOMAIN := .Env.VISITORS_XMPP_DOMAIN | default "meet.jitsi" -}} {{ $VISITORS_XMPP_SERVER := .Env.VISITORS_XMPP_SERVER | default "" -}} {{ $VISITORS_XMPP_SERVERS := splitList "," $VISITORS_XMPP_SERVER -}} -{{ $VISITORS_XMPP_PORT := .Env.VISITORS_XMPP_PORT | default "52220" }} +{{ $VISITORS_XMPP_PORT := .Env.VISITORS_XMPP_PORT | default 52220 }} {{ $XMPP_AUTH_DOMAIN := .Env.XMPP_AUTH_DOMAIN | default "auth.meet.jitsi" -}} {{ $XMPP_MUC_DOMAIN := .Env.XMPP_MUC_DOMAIN | default "muc.meet.jitsi" -}} {{ $XMPP_INTERNAL_MUC_DOMAIN := .Env.XMPP_INTERNAL_MUC_DOMAIN | default "internal-muc.meet.jitsi" -}} diff --git a/prosody/rootfs/defaults/prosody.cfg.lua b/prosody/rootfs/defaults/prosody.cfg.lua index 74e41d1e2a..6796fa44da 100644 --- a/prosody/rootfs/defaults/prosody.cfg.lua +++ b/prosody/rootfs/defaults/prosody.cfg.lua @@ -23,7 +23,7 @@ {{ $VISITORS_XMPP_DOMAIN := .Env.VISITORS_XMPP_DOMAIN | default "meet.jitsi" -}} {{ $VISITORS_XMPP_SERVER := .Env.VISITORS_XMPP_SERVER | default "" -}} {{ $VISITORS_XMPP_SERVERS := splitList "," $VISITORS_XMPP_SERVER -}} -{{ $VISITORS_XMPP_PORT := .Env.VISITORS_XMPP_PORT | default "52220" }} +{{ $VISITORS_XMPP_PORT := .Env.VISITORS_XMPP_PORT | default 52220 }} {{ $XMPP_DOMAIN := .Env.XMPP_DOMAIN | default "meet.jitsi" -}} {{ $XMPP_GUEST_DOMAIN := .Env.XMPP_GUEST_DOMAIN | default "guest.meet.jitsi" -}} {{ $XMPP_MUC_DOMAIN := .Env.XMPP_MUC_DOMAIN | default "muc.meet.jitsi" -}} From 982e5770f6d4e6257972f8197d5ccadd4eb3376d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Thu, 20 Jun 2024 15:24:42 +0200 Subject: [PATCH 14/37] feat(jicofo,jvb,web) default to using SCTP based datachannels WebSocket based ones are now disabled by default. --- jicofo/rootfs/defaults/jicofo.conf | 2 +- jvb/rootfs/defaults/jvb.conf | 4 ++-- web/rootfs/defaults/meet.conf | 2 +- web/rootfs/defaults/system-config.js | 6 ++---- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/jicofo/rootfs/defaults/jicofo.conf b/jicofo/rootfs/defaults/jicofo.conf index 82b9296134..e0849b79b0 100644 --- a/jicofo/rootfs/defaults/jicofo.conf +++ b/jicofo/rootfs/defaults/jicofo.conf @@ -4,7 +4,7 @@ {{ $AUTH_TYPE := .Env.AUTH_TYPE | default "internal" -}} {{ $JICOFO_AUTH_TYPE := .Env.JICOFO_AUTH_TYPE | default $AUTH_TYPE -}} {{ $JICOFO_AUTH_LIFETIME := .Env.JICOFO_AUTH_LIFETIME | default "24 hours" -}} -{{ $ENABLE_SCTP := .Env.ENABLE_SCTP | default "0" | toBool -}} +{{ $ENABLE_SCTP := .Env.ENABLE_SCTP | default "1" | toBool -}} {{ $ENABLE_RECORDING := .Env.ENABLE_RECORDING | default "0" | toBool -}} {{ $ENABLE_OCTO := .Env.ENABLE_OCTO | default "0" | toBool -}} {{ $ENABLE_OCTO_SCTP := .Env.ENABLE_OCTO_SCTP | default $ENABLE_SCTP | toBool -}} diff --git a/jvb/rootfs/defaults/jvb.conf b/jvb/rootfs/defaults/jvb.conf index 111f00a8c9..e33bc0e915 100644 --- a/jvb/rootfs/defaults/jvb.conf +++ b/jvb/rootfs/defaults/jvb.conf @@ -1,8 +1,8 @@ {{ $COLIBRI_REST_ENABLED := .Env.COLIBRI_REST_ENABLED | default "false" | toBool -}} {{ $DISABLE_XMPP := .Env.JVB_DISABLE_XMPP | default "0" | toBool -}} -{{ $ENABLE_COLIBRI_WEBSOCKET := .Env.ENABLE_COLIBRI_WEBSOCKET | default "1" | toBool -}} +{{ $ENABLE_COLIBRI_WEBSOCKET := .Env.ENABLE_COLIBRI_WEBSOCKET | default "0" | toBool -}} {{ $ENABLE_OCTO := .Env.ENABLE_OCTO | default "0" | toBool -}} -{{ $ENABLE_SCTP := .Env.ENABLE_SCTP | default "0" | toBool -}} +{{ $ENABLE_SCTP := .Env.ENABLE_SCTP | default "1" | toBool -}} {{ $ENABLE_JVB_XMPP_SERVER := .Env.ENABLE_JVB_XMPP_SERVER | default "0" | toBool }} {{ $JVB_DISABLE_STUN := .Env.JVB_DISABLE_STUN | default "0" | toBool -}} {{ $JVB_STUN_SERVERS := .Env.JVB_STUN_SERVERS | default "meet-jit-si-turnrelay.jitsi.net:443" -}} diff --git a/web/rootfs/defaults/meet.conf b/web/rootfs/defaults/meet.conf index a3bc391b20..cbd9a14d71 100644 --- a/web/rootfs/defaults/meet.conf +++ b/web/rootfs/defaults/meet.conf @@ -1,4 +1,4 @@ -{{ $ENABLE_COLIBRI_WEBSOCKET := .Env.ENABLE_COLIBRI_WEBSOCKET | default "1" | toBool }} +{{ $ENABLE_COLIBRI_WEBSOCKET := .Env.ENABLE_COLIBRI_WEBSOCKET | default "0" | toBool }} {{ $COLIBRI_WEBSOCKET_PORT := .Env.COLIBRI_WEBSOCKET_PORT | default "9090" }} {{ $COLIBRI_WEBSOCKET_REGEX := .Env.COLIBRI_WEBSOCKET_REGEX | default "jvb" }} {{ $ENABLE_JAAS_COMPONENTS := .Env.ENABLE_JAAS_COMPONENTS | default "0" | toBool }} diff --git a/web/rootfs/defaults/system-config.js b/web/rootfs/defaults/system-config.js index a4a5ed5524..1a0bff8c97 100644 --- a/web/rootfs/defaults/system-config.js +++ b/web/rootfs/defaults/system-config.js @@ -10,7 +10,7 @@ {{ $XMPP_GUEST_DOMAIN := .Env.XMPP_GUEST_DOMAIN | default "guest.meet.jitsi" -}} {{ $XMPP_MUC_DOMAIN := .Env.XMPP_MUC_DOMAIN | default "muc.meet.jitsi" -}} {{ $XMPP_MUC_DOMAIN_PREFIX := (split "." $XMPP_MUC_DOMAIN)._0 -}} -{{ $JVB_PREFER_SCTP := .Env.JVB_PREFER_SCTP | default "false" | toBool -}} +{{ $JVB_PREFER_SCTP := .Env.JVB_PREFER_SCTP | default "1" | toBool -}} // Jitsi Meet configuration. var config = {}; @@ -67,8 +67,6 @@ config.websocket = 'wss://{{ $PUBLIC_URL_DOMAIN }}/xmpp-websocket'; {{ end -}} {{ end -}} -{{ if $JVB_PREFER_SCTP -}} config.bridgeChannel = { - preferSctp: true + preferSctp: {{ $JVB_PREFER_SCTP }} }; -{{ end -}} From e22b4f343b22b0aaf1c2b4e6e98c690ef87fcae6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B0=D0=BC=D1=8F=D0=BD=20=D0=9C=D0=B8=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Fri, 21 Jun 2024 02:16:36 -0500 Subject: [PATCH 15/37] feat(jibri): Adds more fonts. More info https://community.jitsi.org/t/about-the-jibri/132264/5 --- jibri/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/jibri/Dockerfile b/jibri/Dockerfile index 4bab2aed16..9f7a3382a5 100644 --- a/jibri/Dockerfile +++ b/jibri/Dockerfile @@ -29,6 +29,7 @@ RUN apt-dpkg-wrap apt-get update && \ rtkit \ unzip \ fonts-noto \ + fonts-noto-cjk \ libcap2-bin && \ /usr/bin/install-chrome.sh && \ apt-cleanup && \ From 2adac72142b4dbdbf9a149dd0e40a3f07ac20191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B0=D0=BC=D1=8F=D0=BD=20=D0=9C=D0=B8=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Fri, 21 Jun 2024 08:03:55 -0500 Subject: [PATCH 16/37] feat(prosody): Drop non existing config. smacks_max_hibernated_sessions config does not exist in prosody 0.12 and the internal smacks. This existed in the external smack module used for prosody 0.11. --- prosody/rootfs/defaults/conf.d/jitsi-meet.cfg.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/prosody/rootfs/defaults/conf.d/jitsi-meet.cfg.lua b/prosody/rootfs/defaults/conf.d/jitsi-meet.cfg.lua index 78bb09b5a5..271174eb7f 100644 --- a/prosody/rootfs/defaults/conf.d/jitsi-meet.cfg.lua +++ b/prosody/rootfs/defaults/conf.d/jitsi-meet.cfg.lua @@ -124,7 +124,6 @@ consider_websocket_secure = true; {{ if $ENABLE_XMPP_WEBSOCKET }} smacks_max_unacked_stanzas = 5; smacks_hibernation_time = 60; -smacks_max_hibernated_sessions = 1; smacks_max_old_sessions = 1; {{ end }} From fbc250ebfbbaf0e06737ad271f5ea8fc946517f7 Mon Sep 17 00:00:00 2001 From: 24kushang <102860007+24kushang@users.noreply.github.com> Date: Wed, 26 Jun 2024 23:02:50 +0530 Subject: [PATCH 17/37] feat(prosody): openmetrics module support (#1832) add option to enable http_openmetrics --- docker-compose.yml | 2 ++ prosody/rootfs/defaults/prosody.cfg.lua | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 0d33d541a4..08c7d39d17 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -262,9 +262,11 @@ services: - PROSODY_RESERVATION_REST_BASE_URL - PROSODY_ENABLE_RATE_LIMITS - PROSODY_ENABLE_S2S + - PROSODY_ENABLE_METRICS - PROSODY_GUEST_AUTH_TYPE - PROSODY_HTTP_PORT - PROSODY_LOG_CONFIG + - PROSODY_METRICS_ALLOWED_CIDR - PROSODY_MODE - PROSODY_RATE_LIMIT_LOGIN_RATE - PROSODY_RATE_LIMIT_SESSION_RATE diff --git a/prosody/rootfs/defaults/prosody.cfg.lua b/prosody/rootfs/defaults/prosody.cfg.lua index 6796fa44da..59f8c9777c 100644 --- a/prosody/rootfs/defaults/prosody.cfg.lua +++ b/prosody/rootfs/defaults/prosody.cfg.lua @@ -12,7 +12,9 @@ {{ $GC_GEN_MAX_TH := .Env.GC_GEN_MAX_TH | default 100 -}} {{ $LOG_LEVEL := .Env.LOG_LEVEL | default "info" }} {{ $PROSODY_C2S_LIMIT := .Env.PROSODY_C2S_LIMIT | default "10kb/s" -}} +{{ $PROSODY_METRICS_ALLOWED_CIDR := .Env.PROSODY_METRICS_ALLOWED_CIDR | default "172.16.0.0/12" -}} {{ $PROSODY_HTTP_PORT := .Env.PROSODY_HTTP_PORT | default "5280" -}} +{{ $PROSODY_ENABLE_METRICS := .Env.PROSODY_ENABLE_METRICS | default "false" | toBool -}} {{ $PROSODY_ADMINS := .Env.PROSODY_ADMINS | default "" -}} {{ $PROSODY_ADMIN_LIST := splitList "," $PROSODY_ADMINS -}} {{ $TRUSTED_PROXIES := .Env.PROSODY_TRUSTED_PROXIES | default "127.0.0.1,::1" -}} @@ -108,6 +110,12 @@ modules_enabled = { "s2sout_override"; "s2s_whitelist"; {{ end -}} + + {{ if $PROSODY_ENABLE_METRICS }} + -- metrics collection functionality + "http_openmetrics"; + {{ end -}} + {{ if .Env.GLOBAL_MODULES }} "{{ join "\";\n\"" (splitList "," .Env.GLOBAL_MODULES) }}"; {{ end }} @@ -287,6 +295,13 @@ log = { {{ end }} } +{{ if $PROSODY_ENABLE_METRICS }} +-- Statistics Provider configuration +statistics = "internal" +statistics_interval = "manual" +openmetrics_allow_cidr = "{{ $PROSODY_METRICS_ALLOWED_CIDR }}" +{{ end }} + {{ if .Env.GLOBAL_CONFIG }} {{ join "\n" (splitList "\\n" .Env.GLOBAL_CONFIG) }} {{ end }} From d2ac43d46ebcf70ff62e65527768723b96dae03d Mon Sep 17 00:00:00 2001 From: Sebastian Denz Date: Mon, 1 Jul 2024 13:22:59 +0200 Subject: [PATCH 18/37] feat(jigasi): Add new environment variables for jigasi configuration (#1841) --- .../defaults/sip-communicator.properties | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/jigasi/rootfs/defaults/sip-communicator.properties b/jigasi/rootfs/defaults/sip-communicator.properties index ea5bf07d62..850d1af833 100644 --- a/jigasi/rootfs/defaults/sip-communicator.properties +++ b/jigasi/rootfs/defaults/sip-communicator.properties @@ -1,6 +1,10 @@ {{ $ENABLE_TRANSCRIPTIONS := .Env.ENABLE_TRANSCRIPTIONS | default "0" | toBool -}} {{ $JIGASI_BREWERY_MUC := .Env.JIGASI_BREWERY_MUC | default "jigasibrewery" -}} {{ $JIGASI_XMPP_USER := .Env.JIGASI_XMPP_USER | default "jigasi" -}} +{{ $JIGASI_JVB_TIMEOUT := .Env.JIGASI_JVB_TIMEOUT | default "30000" -}} +{{ $JIGASI_LOCAL_REGION := .Env.JIGASI_LOCAL_REGION | default "" -}} +{{ $BOSH_URL_PATTERN := .Env.BOSH_URL_PATTERN | default "" -}} +{{ $USE_TRANSLATOR_IN_CONFERENCE := .Env.USE_TRANSLATOR_IN_CONFERENCE | default "0" | toBool -}} {{ $XMPP_AUTH_DOMAIN := .Env.XMPP_AUTH_DOMAIN | default "auth.meet.jitsi" -}} {{ $XMPP_MUC_DOMAIN := .Env.XMPP_MUC_DOMAIN | default "muc.meet.jitsi" -}} {{ $XMPP_GUEST_DOMAIN := .Env.XMPP_GUEST_DOMAIN | default "guest.meet.jitsi" -}} @@ -187,3 +191,24 @@ org.jitsi.jigasi.MUC_SERVICE_ADDRESS={{ $XMPP_MUC_DOMAIN }} {{ if $TRUSTED_DOMAIN_LIST }} org.jitsi.jigasi.TRUSTED_DOMAINS=[ {{ range $index, $element := $TRUSTED_DOMAINS }}{{ if gt $index 0 }},{{ end }}"{{ $element }}"{{ end}} ] {{ end }} + +org.jitsi.jigasi.JVB_INVITE_TIMEOUT={{ $JIGASI_JVB_TIMEOUT }} + +{{ if $JIGASI_LOCAL_REGION }} +org.jitsi.jigasi.LOCAL_REGION={{ $JIGASI_LOCAL_REGION }} +{{ end }} + +{{ if $BOSH_URL_PATTERN }} +org.jitsi.jigasi.xmpp.acc.BOSH_URL_PATTERN={{ $BOSH_URL_PATTERN }} +{{ end }} + +{{ if $USE_TRANSLATOR_IN_CONFERENCE }} +org.jitsi.jigasi.xmpp.acc.USE_TRANSLATOR_IN_CONFERENCE=true +net.java.sip.communicator.impl.protocol.sip.acc1.USE_TRANSLATOR_IN_CONFERENCE=true +# Should be enabled when using translator mode +net.java.sip.communicator.impl.neomedia.audioSystem.audiosilence.captureDevice_list=["AudioSilenceCaptureDevice:noTransferData"] +{{ end }} + +{{ if .Env.JIGASI_CONFIGURATION -}} +{{ join "\n" (splitList "," .Env.JIGASI_CONFIGURATION) }} +{{ end -}} From c65d2bd2fca045f10a625040a93a136fbf2684fb Mon Sep 17 00:00:00 2001 From: Sebastian Denz Date: Tue, 2 Jul 2024 17:50:25 +0200 Subject: [PATCH 19/37] feat(jigasi,jicofo,jvb,jibri,prosody): add healthcheck.sh scripts and prosody http_health mod --- base/Dockerfile | 2 +- jicofo/rootfs/usr/local/bin/healthcheck.sh | 3 +++ jigasi/rootfs/usr/local/bin/healthcheck.sh | 3 +++ jvb/rootfs/usr/local/bin/healthcheck.sh | 3 +++ prosody/Dockerfile | 1 + prosody/rootfs/defaults/prosody.cfg.lua | 1 + prosody/rootfs/usr/local/bin/healthcheck.sh | 3 +++ 7 files changed, 15 insertions(+), 1 deletion(-) create mode 100755 jicofo/rootfs/usr/local/bin/healthcheck.sh create mode 100755 jigasi/rootfs/usr/local/bin/healthcheck.sh create mode 100755 jvb/rootfs/usr/local/bin/healthcheck.sh create mode 100755 prosody/rootfs/usr/local/bin/healthcheck.sh diff --git a/base/Dockerfile b/base/Dockerfile index 6329f15029..37c96a5e8b 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -13,7 +13,7 @@ RUN \ *) echo "unsupported architecture"; exit 1 ;; \ esac && \ apt-dpkg-wrap apt-get update && \ - apt-dpkg-wrap apt-get install -y apt-transport-https apt-utils ca-certificates gnupg wget && \ + apt-dpkg-wrap apt-get install -y apt-transport-https apt-utils ca-certificates gnupg wget curl && \ wget -qO /usr/bin/tpl https://github.com/jitsi/tpl/releases/download/v1.3.0/tpl-linux-${TPL_ARCH} && \ # Workaround S6 bug when /bin is a symlink wget -qO /tmp/s6.tar.gz https://github.com/just-containers/s6-overlay/releases/download/v1.22.1.0/s6-overlay-${S6_ARCH}.tar.gz && \ diff --git a/jicofo/rootfs/usr/local/bin/healthcheck.sh b/jicofo/rootfs/usr/local/bin/healthcheck.sh new file mode 100755 index 0000000000..cab491a29c --- /dev/null +++ b/jicofo/rootfs/usr/local/bin/healthcheck.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +curl --fail-with-body http://127.0.0.1:8888/about/health diff --git a/jigasi/rootfs/usr/local/bin/healthcheck.sh b/jigasi/rootfs/usr/local/bin/healthcheck.sh new file mode 100755 index 0000000000..47061c6486 --- /dev/null +++ b/jigasi/rootfs/usr/local/bin/healthcheck.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +curl --fail-with-body http://127.0.0.1:8788/about/health diff --git a/jvb/rootfs/usr/local/bin/healthcheck.sh b/jvb/rootfs/usr/local/bin/healthcheck.sh new file mode 100755 index 0000000000..401d8c7c7d --- /dev/null +++ b/jvb/rootfs/usr/local/bin/healthcheck.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +curl --fail-with-body http://127.0.0.1:8080/about/health diff --git a/prosody/Dockerfile b/prosody/Dockerfile index 633115e3f4..d33c9f7213 100644 --- a/prosody/Dockerfile +++ b/prosody/Dockerfile @@ -57,6 +57,7 @@ RUN wget -qO /etc/apt/trusted.gpg.d/prosody.gpg https://prosody.im/files/prosody rm -rf /usr/share/lua/{5.1,5.2,5.3} && \ wget -qO /prosody-plugins/mod_auth_cyrus.lua https://hg.prosody.im/prosody-modules/raw-file/65438e4ba563/mod_auth_cyrus/mod_auth_cyrus.lua && \ wget -qO /prosody-plugins/sasl_cyrus.lua https://hg.prosody.im/prosody-modules/raw-file/65438e4ba563/mod_auth_cyrus/sasl_cyrus.lua && \ + wget -qO /prosody-plugins/mod_http_health.lua https://hg.prosody.im/prosody-modules/raw-file/2b80188448d1/mod_http_health/mod_http_health.lua && \ wget https://github.com/matrix-org/prosody-mod-auth-matrix-user-verification/archive/refs/tags/v$VERSION_MATRIX_USER_VERIFICATION_SERVICE_PLUGIN.tar.gz && \ tar -xf v$VERSION_MATRIX_USER_VERIFICATION_SERVICE_PLUGIN.tar.gz && \ mv prosody-mod-auth-matrix-user-verification-$VERSION_MATRIX_USER_VERIFICATION_SERVICE_PLUGIN/mod_auth_matrix_user_verification.lua /prosody-plugins && \ diff --git a/prosody/rootfs/defaults/prosody.cfg.lua b/prosody/rootfs/defaults/prosody.cfg.lua index 59f8c9777c..8c6e172a44 100644 --- a/prosody/rootfs/defaults/prosody.cfg.lua +++ b/prosody/rootfs/defaults/prosody.cfg.lua @@ -99,6 +99,7 @@ modules_enabled = { --"watchregistrations"; -- Alert admins of registrations --"motd"; -- Send a message to users when they log in --"legacyauth"; -- Legacy authentication. Only used by some old clients and bots. + "http_health"; {{ if eq .Env.PROSODY_MODE "brewery" -}} "firewall"; -- Enable firewalling "secure_interfaces"; diff --git a/prosody/rootfs/usr/local/bin/healthcheck.sh b/prosody/rootfs/usr/local/bin/healthcheck.sh new file mode 100755 index 0000000000..81ac834eed --- /dev/null +++ b/prosody/rootfs/usr/local/bin/healthcheck.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +curl --fail-with-body http://127.0.0.1:5280/health From 980703bc57a43779562ac9c3e4ac48f4a0bd84ab Mon Sep 17 00:00:00 2001 From: emrah Date: Mon, 1 Jul 2024 15:13:16 +0300 Subject: [PATCH 20/37] fix(jibri): display modes in xorg config --- jibri/rootfs/defaults/xorg-video-dummy.conf | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/jibri/rootfs/defaults/xorg-video-dummy.conf b/jibri/rootfs/defaults/xorg-video-dummy.conf index 7bb095d7c9..37e56c4ffa 100644 --- a/jibri/rootfs/defaults/xorg-video-dummy.conf +++ b/jibri/rootfs/defaults/xorg-video-dummy.conf @@ -1,6 +1,6 @@ {{ $JIBRI_RECORDING_RESOLUTION := .Env.JIBRI_RECORDING_RESOLUTION | default "1280x720" -}} -{{ $JIBRI_HORIZ_SYNC := .Env.JIBRI_XORG_HORIZ_SYNC | default "43.0 - 47.0" -}} -{{ $JIBRI_VERT_REFRESH := .Env.JIBRI_XORG_VERT_REFRESH | default "58.0 - 62.0" -}} +{{ $JIBRI_HORIZ_SYNC := .Env.JIBRI_XORG_HORIZ_SYNC | default "5.0 - 1000.0" -}} +{{ $JIBRI_VERT_REFRESH := .Env.JIBRI_XORG_VERT_REFRESH | default "5.0 - 200.0" -}} # This xorg configuration file is meant to be used by xpra # to start a dummy X11 server. @@ -65,7 +65,6 @@ Section "Monitor" Modeline "1360x768" 24.49 1360 1392 1480 1512 768 786 789 807 Modeline "1024x768" 18.71 1024 1056 1120 1152 768 786 789 807 Modeline "768x1024" 19.50 768 800 872 904 1024 1048 1052 1076 - Modeline "1280x720@60" 73.78 1280 1312 1592 1624 720 735 742 757 #common resolutions for android devices (both orientations): @@ -113,8 +112,7 @@ Section "Screen" SubSection "Display" Viewport 0 0 Depth 24 - Modes "5120x3200" "3840x2880" "3840x2560" "3840x2048" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200" - Virtual {{ join " " (splitList "x" $JIBRI_RECORDING_RESOLUTION) }} + Modes {{ $JIBRI_RECORDING_RESOLUTION | quote }} EndSubSection EndSection From 49bd1657d5c34cfbd06b361512589b8dfc65f1b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Tue, 2 Jul 2024 22:04:35 +0200 Subject: [PATCH 21/37] feat(jibri) update Chrome to 126 --- jibri/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jibri/Dockerfile b/jibri/Dockerfile index 9f7a3382a5..a99d01401c 100644 --- a/jibri/Dockerfile +++ b/jibri/Dockerfile @@ -11,7 +11,7 @@ LABEL org.opencontainers.image.documentation="https://jitsi.github.io/handbook/" ARG USE_CHROMIUM=0 #ARG CHROME_RELEASE=latest # https://googlechromelabs.github.io/chrome-for-testing/ -ARG CHROME_RELEASE=121.0.6167.85 +ARG CHROME_RELEASE=126.0.6478.126 COPY rootfs/ / From b4604f3078b0b7da5a9199e3974592d4d741bc35 Mon Sep 17 00:00:00 2001 From: loli10K Date: Thu, 25 Apr 2024 10:52:08 +0200 Subject: [PATCH 22/37] feat(whiteboard) add builtin whiteboard integration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes: https://github.com/jitsi/docker-jitsi-meet/pull/1480 Co-authored-by: Tugrul Dogan Co-authored-by: Saúl Ibarra Corretgé --- docker-compose.yml | 2 +- env.example | 13 ++++++++++++- web/rootfs/defaults/meet.conf | 15 +++++++++++++++ web/rootfs/defaults/settings-config.js | 9 ++++++--- whiteboard.yml | 12 ++++++++++++ 5 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 whiteboard.yml diff --git a/docker-compose.yml b/docker-compose.yml index 08c7d39d17..06ba51bcbd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -171,8 +171,8 @@ services: - XMPP_MUC_DOMAIN - XMPP_RECORDER_DOMAIN - XMPP_PORT - - WHITEBOARD_ENABLED - WHITEBOARD_COLLAB_SERVER_PUBLIC_URL + - WHITEBOARD_COLLAB_SERVER_URL_BASE networks: meet.jitsi: depends_on: diff --git a/env.example b/env.example index 485649c572..dd8c50a847 100644 --- a/env.example +++ b/env.example @@ -73,13 +73,24 @@ TZ=UTC # Etherpad integration (for document sharing) # -# Set etherpad-lite URL in docker local network (uncomment to enable) +# Set the etherpad-lite URL in the docker local network (uncomment to enable) #ETHERPAD_URL_BASE=http://etherpad.meet.jitsi:9001 # Set etherpad-lite public URL, including /p/ pad path fragment (uncomment to enable) #ETHERPAD_PUBLIC_URL=https://etherpad.my.domain/p/ +# +# Whiteboard integration +# + +# Set the excalidraw-backend URL in the docker local network (uncomment to enable) +#WHITEBOARD_COLLAB_SERVER_URL_BASE=http://whiteboard.meet.jitsi + +# Set the excalidraw-backend public URL (uncomment to enable) +#WHITEBOARD_COLLAB_SERVER_PUBLIC_URL=https://whiteboard.meet.my.domain + + # # Basic Jigasi configuration options (needed for SIP gateway support) # diff --git a/web/rootfs/defaults/meet.conf b/web/rootfs/defaults/meet.conf index cbd9a14d71..8cca7565c3 100644 --- a/web/rootfs/defaults/meet.conf +++ b/web/rootfs/defaults/meet.conf @@ -134,6 +134,21 @@ location ^~ /etherpad/ { } {{ end }} +{{ if .Env.WHITEBOARD_COLLAB_SERVER_URL_BASE }} +# whiteboard (excalidraw-backend) +location = /socket.io/ { + proxy_buffering off; + proxy_cache_bypass $http_upgrade; + + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header X-Forwarded-For $remote_addr; + + proxy_pass {{ .Env.WHITEBOARD_COLLAB_SERVER_URL_BASE }}/socket.io/?$args; +} +{{ end }} + location ~ ^/([^/?&:'"]+)$ { try_files $uri @root_path; } diff --git a/web/rootfs/defaults/settings-config.js b/web/rootfs/defaults/settings-config.js index 4a5fbb133b..0be9c8020d 100644 --- a/web/rootfs/defaults/settings-config.js +++ b/web/rootfs/defaults/settings-config.js @@ -62,8 +62,7 @@ {{ $ENABLE_LOCAL_RECORDING_SELF_START := .Env.ENABLE_LOCAL_RECORDING_SELF_START | default "false" | toBool -}} {{ $DISABLE_PROFILE := .Env.DISABLE_PROFILE | default "false" | toBool -}} {{ $ROOM_PASSWORD_DIGITS := .Env.ROOM_PASSWORD_DIGITS | default "false" -}} -{{ $WHITEBOARD_COLLAB_SERVER_PUBLIC_URL := .Env.WHITEBOARD_COLLAB_SERVER_PUBLIC_URL | default "" -}} -{{ $WHITEBOARD_ENABLED := .Env.WHITEBOARD_ENABLED | default "false" | toBool -}} +{{ $WHITEBOARD_ENABLED := or (.Env.WHITEBOARD_COLLAB_SERVER_PUBLIC_URL | default "" | toBool) (.Env.WHITEBOARD_COLLAB_SERVER_URL_BASE | default "" | toBool) }} {{ $TESTING_AV1_SUPPORT := .Env.TESTING_AV1_SUPPORT | default "false" | toBool -}} // Video configuration. @@ -554,7 +553,11 @@ config.e2eping.maxMessagePerSecond = {{ .Env.E2EPING_MAX_MESSAGE_PER_SECOND }}; // Settings for the Excalidraw whiteboard integration. config.whiteboard = { enabled: {{ $WHITEBOARD_ENABLED }}, - collabServerBaseUrl: '{{ $WHITEBOARD_COLLAB_SERVER_PUBLIC_URL }}' +{{ if .Env.WHITEBOARD_COLLAB_SERVER_PUBLIC_URL -}} + collabServerBaseUrl: '{{ .Env.WHITEBOARD_COLLAB_SERVER_PUBLIC_URL }}'; +{{ else if .Env.WHITEBOARD_COLLAB_SERVER_URL_BASE -}} + collabServerBaseUrl: '{{ $PUBLIC_URL }}' +{{ end -}} }; // Testing diff --git a/whiteboard.yml b/whiteboard.yml new file mode 100644 index 0000000000..9984daf058 --- /dev/null +++ b/whiteboard.yml @@ -0,0 +1,12 @@ +version: '3.5' + +services: + whiteboard: + image: jitsi/excalidraw-backend:21 + restart: ${RESTART_POLICY:-unless-stopped} + depends_on: + - web + networks: + meet.jitsi: + aliases: + - whiteboard.meet.jitsi From a2114a8ecff47ce0efb5d233498ac61e3373dacc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Tue, 2 Jul 2024 23:19:25 +0200 Subject: [PATCH 23/37] release: stable-9584 * b4604f3 feat(whiteboard) add builtin whiteboard integration * 49bd165 feat(jibri) update Chrome to 126 * 980703b fix(jibri): display modes in xorg config * c65d2bd feat(jigasi,jicofo,jvb,jibri,prosody): add healthcheck.sh scripts and prosody http_health mod * d2ac43d feat(jigasi): Add new environment variables for jigasi configuration (#1841) * fbc250e feat(prosody): openmetrics module support (#1832) * 2adac72 feat(prosody): Drop non existing config. * e22b4f3 feat(jibri): Adds more fonts. * 982e577 feat(jicofo,jvb,web) default to using SCTP based datachannels * 55c975f fix(jicofo): use integer for port value to fix addition (#1826) * 7c8763f base: update tpl to version 1.3.0 * 1d3c0f1 jibri: fail to start if the SYS_ADMIN cap is missing (#1816) * cacee4e jvb: adds autoscaler sidecar hook to signal final shutdown (#1809) * 726b0f0 jibri: adds autoscaler sidecar hook to signal final shutdown (#1810) * f2b2cc4 etherpad: update image version and settings * 731d6d1 base: update tpl to make toBool more resilient * 59c4eb2 jvb: add fallback WS server ID * 9a54843 jvb: add ability to configure the TLS option for colibri WS * 79a4635 jvb: add ability to disable XMPP * 77ce86a jvb: add ability to enable SCTP datachannels * 76ffaa7 jicofo, jvb: fix OCTO + SCTP behaviour * 0298a30 misc: working on unstable --- CHANGELOG.md | 27 +++++++++++++++++++++++++++ docker-compose.yml | 8 ++++---- jibri.yml | 2 +- jigasi.yml | 2 +- 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b2afb2844..284c7874d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,30 @@ +## stable-9584 + +Based on stable release 9584. + +* b4604f3 feat(whiteboard) add builtin whiteboard integration +* 49bd165 feat(jibri) update Chrome to 126 +* 980703b fix(jibri): display modes in xorg config +* c65d2bd feat(jigasi,jicofo,jvb,jibri,prosody): add healthcheck.sh scripts and prosody http_health mod +* d2ac43d feat(jigasi): Add new environment variables for jigasi configuration (#1841) +* fbc250e feat(prosody): openmetrics module support (#1832) +* 2adac72 feat(prosody): Drop non existing config. +* e22b4f3 feat(jibri): Adds more fonts. +* 982e577 feat(jicofo,jvb,web) default to using SCTP based datachannels +* 55c975f fix(jicofo): use integer for port value to fix addition (#1826) +* 7c8763f base: update tpl to version 1.3.0 +* 1d3c0f1 jibri: fail to start if the SYS_ADMIN cap is missing (#1816) +* cacee4e jvb: adds autoscaler sidecar hook to signal final shutdown (#1809) +* 726b0f0 jibri: adds autoscaler sidecar hook to signal final shutdown (#1810) +* f2b2cc4 etherpad: update image version and settings +* 731d6d1 base: update tpl to make toBool more resilient +* 59c4eb2 jvb: add fallback WS server ID +* 9a54843 jvb: add ability to configure the TLS option for colibri WS +* 79a4635 jvb: add ability to disable XMPP +* 77ce86a jvb: add ability to enable SCTP datachannels +* 76ffaa7 jicofo, jvb: fix OCTO + SCTP behaviour +* 0298a30 misc: working on unstable + ## stable-9457-2 Based on stable release 9457-2. diff --git a/docker-compose.yml b/docker-compose.yml index 06ba51bcbd..1a79d9ba81 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.5' services: # Frontend web: - image: jitsi/web:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/web:${JITSI_IMAGE_VERSION:-stable-9584} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${HTTP_PORT}:80' @@ -180,7 +180,7 @@ services: # XMPP server prosody: - image: jitsi/prosody:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/prosody:${JITSI_IMAGE_VERSION:-stable-9584} restart: ${RESTART_POLICY:-unless-stopped} expose: - '${XMPP_PORT:-5222}' @@ -315,7 +315,7 @@ services: # Focus component jicofo: - image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-stable-9584} restart: ${RESTART_POLICY:-unless-stopped} ports: - '127.0.0.1:${JICOFO_REST_PORT:-8888}:8888' @@ -398,7 +398,7 @@ services: # Video bridge jvb: - image: jitsi/jvb:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/jvb:${JITSI_IMAGE_VERSION:-stable-9584} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${JVB_PORT:-10000}:${JVB_PORT:-10000}/udp' diff --git a/jibri.yml b/jibri.yml index 65c7d103e1..5365778053 100644 --- a/jibri.yml +++ b/jibri.yml @@ -2,7 +2,7 @@ version: '3.5' services: jibri: - image: jitsi/jibri:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/jibri:${JITSI_IMAGE_VERSION:-stable-9584} restart: ${RESTART_POLICY:-unless-stopped} volumes: - ${CONFIG}/jibri:/config:Z diff --git a/jigasi.yml b/jigasi.yml index 3ad1d3f658..f60c12cc3c 100644 --- a/jigasi.yml +++ b/jigasi.yml @@ -3,7 +3,7 @@ version: '3.5' services: # SIP gateway (audio) jigasi: - image: jitsi/jigasi:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/jigasi:${JITSI_IMAGE_VERSION:-stable-9584} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${JIGASI_PORT_MIN:-20000}-${JIGASI_PORT_MAX:-20050}:${JIGASI_PORT_MIN:-20000}-${JIGASI_PORT_MAX:-20050}/udp' From 811518b8be888eaf94dd7a4d527cb6201ec67579 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Tue, 2 Jul 2024 23:19:25 +0200 Subject: [PATCH 24/37] misc: working on unstable --- docker-compose.yml | 8 ++++---- jibri.yml | 2 +- jigasi.yml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 1a79d9ba81..06ba51bcbd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.5' services: # Frontend web: - image: jitsi/web:${JITSI_IMAGE_VERSION:-stable-9584} + image: jitsi/web:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${HTTP_PORT}:80' @@ -180,7 +180,7 @@ services: # XMPP server prosody: - image: jitsi/prosody:${JITSI_IMAGE_VERSION:-stable-9584} + image: jitsi/prosody:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} expose: - '${XMPP_PORT:-5222}' @@ -315,7 +315,7 @@ services: # Focus component jicofo: - image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-stable-9584} + image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} ports: - '127.0.0.1:${JICOFO_REST_PORT:-8888}:8888' @@ -398,7 +398,7 @@ services: # Video bridge jvb: - image: jitsi/jvb:${JITSI_IMAGE_VERSION:-stable-9584} + image: jitsi/jvb:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${JVB_PORT:-10000}:${JVB_PORT:-10000}/udp' diff --git a/jibri.yml b/jibri.yml index 5365778053..65c7d103e1 100644 --- a/jibri.yml +++ b/jibri.yml @@ -2,7 +2,7 @@ version: '3.5' services: jibri: - image: jitsi/jibri:${JITSI_IMAGE_VERSION:-stable-9584} + image: jitsi/jibri:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} volumes: - ${CONFIG}/jibri:/config:Z diff --git a/jigasi.yml b/jigasi.yml index f60c12cc3c..3ad1d3f658 100644 --- a/jigasi.yml +++ b/jigasi.yml @@ -3,7 +3,7 @@ version: '3.5' services: # SIP gateway (audio) jigasi: - image: jitsi/jigasi:${JITSI_IMAGE_VERSION:-stable-9584} + image: jitsi/jigasi:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${JIGASI_PORT_MIN:-20000}-${JIGASI_PORT_MAX:-20050}:${JIGASI_PORT_MIN:-20000}-${JIGASI_PORT_MAX:-20050}/udp' From fcb90baf986ddd70161e24b9d9e444e1b8fb737a Mon Sep 17 00:00:00 2001 From: Aaron van Meerten Date: Wed, 3 Jul 2024 10:38:01 -0400 Subject: [PATCH 25/37] fix(web): whiteboard config.js syntax error (#1851) --- web/rootfs/defaults/settings-config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/rootfs/defaults/settings-config.js b/web/rootfs/defaults/settings-config.js index 0be9c8020d..ff38be0912 100644 --- a/web/rootfs/defaults/settings-config.js +++ b/web/rootfs/defaults/settings-config.js @@ -554,7 +554,7 @@ config.e2eping.maxMessagePerSecond = {{ .Env.E2EPING_MAX_MESSAGE_PER_SECOND }}; config.whiteboard = { enabled: {{ $WHITEBOARD_ENABLED }}, {{ if .Env.WHITEBOARD_COLLAB_SERVER_PUBLIC_URL -}} - collabServerBaseUrl: '{{ .Env.WHITEBOARD_COLLAB_SERVER_PUBLIC_URL }}'; + collabServerBaseUrl: '{{ .Env.WHITEBOARD_COLLAB_SERVER_PUBLIC_URL }}' {{ else if .Env.WHITEBOARD_COLLAB_SERVER_URL_BASE -}} collabServerBaseUrl: '{{ $PUBLIC_URL }}' {{ end -}} From 9c87bba7111009c09d37a3e0fd5b128f39fa9985 Mon Sep 17 00:00:00 2001 From: Ilayda Dastan <43909097+ilaydadastan@users.noreply.github.com> Date: Wed, 3 Jul 2024 19:00:18 +0300 Subject: [PATCH 26/37] feat(jitsi-meet): added grafana loki and otel integration for log analysis (#1844) --- .gitignore | 3 + grafana.yml | 13 ++ log-analyser.yml | 21 +++ log-analyser/README.md | 79 ++++++++ log-analyser/grafana-dashboards/jicofo.json | 177 ++++++++++++++++++ .../grafana-dashboards/jitsi-all.json | 136 ++++++++++++++ log-analyser/grafana-dashboards/jvb.json | 177 ++++++++++++++++++ .../datasources/datasource_loki.yml | 9 + log-analyser/loki/conf/loki-config.yaml | 51 +++++ log-analyser/otel-collector-config.yaml | 53 ++++++ 10 files changed, 719 insertions(+) create mode 100644 grafana.yml create mode 100644 log-analyser.yml create mode 100644 log-analyser/README.md create mode 100644 log-analyser/grafana-dashboards/jicofo.json create mode 100644 log-analyser/grafana-dashboards/jitsi-all.json create mode 100644 log-analyser/grafana-dashboards/jvb.json create mode 100644 log-analyser/grafana-provisioning/datasources/datasource_loki.yml create mode 100644 log-analyser/loki/conf/loki-config.yaml create mode 100644 log-analyser/otel-collector-config.yaml diff --git a/.gitignore b/.gitignore index 9c7dffa2c1..8996a5ded5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ *.swp .env* docker-compose.override.yml +log-analyser/grafana +**/.DS_Store +**/.idea diff --git a/grafana.yml b/grafana.yml new file mode 100644 index 0000000000..37d143c3ae --- /dev/null +++ b/grafana.yml @@ -0,0 +1,13 @@ +version: '3.5' + +services: + # Grafana: used for visualization of metrics and log data through customizable dashboards. + grafana: + image: grafana/grafana:10.2.0 + environment: + - GF_ANALYTICS_REPORTING_ENABLED=false + volumes: + - ./log-analyser/grafana:/var/lib/grafana + - ./log-analyser/grafana-provisioning/:/etc/grafana/provisioning/ + ports: + - "3000:3000" diff --git a/log-analyser.yml b/log-analyser.yml new file mode 100644 index 0000000000..a4fc8ee91a --- /dev/null +++ b/log-analyser.yml @@ -0,0 +1,21 @@ +version: '3.5' + +services: + # Log Analyser: used for setting up a log analysis system for visualization, log collection and log processing. + + loki: + container_name: loki + image: grafana/loki:3.0.0 + command: -config.file=/conf/loki-config.yaml + volumes: + - ./log-analyser/loki/data:/data + - ./log-analyser/loki/conf:/conf + ports: + - "3100:3100" + + otel-collector: + container_name: otel + image: otel/opentelemetry-collector-contrib + volumes: + - ./log-analyser/otel-collector-config.yaml:/etc/otelcol-contrib/config.yaml + - ./log-analyser/jitsi-logs/:/tmp/jitsi-logs/ diff --git a/log-analyser/README.md b/log-analyser/README.md new file mode 100644 index 0000000000..eb47993d9b --- /dev/null +++ b/log-analyser/README.md @@ -0,0 +1,79 @@ +# JITSI MEET LOG ANALYSER - Grafana Loki and OpenTelemetry Integration + +Welcome to the Grafana Loki and OpenTelemetry integration project! This repository provides a simple and effective setup for log management and analysis using Docker, Grafana Loki, and OpenTelemetry. +Currently this is an in-progress GSoC Summer of Code project and so the instructions may change before being finalized. Please treat all this as alpha code. + +## Overview + +This project demonstrates how to configure and use Grafana Loki with OpenTelemetry to collect, parse, and visualize log data. It includes: + +- A Docker Compose setup (`log-analyser.yml`) for Loki and OpenTelemetry Collector. +- A Docker Compose setup (`grafana.yml`) for Grafana. +- Configuration files for log parsing and exporting. +- Instructions to set up and access Grafana with Loki as a data source. +- +## Getting Started + +### Prerequisites + +- Docker +- Docker Compose + +### Setup + +1. **Clone the repository:** + + ```bash + git clone https://github.com/jitsi/docker-jitsi-meet.git + ``` + +### Log Analyser + +1. **Add your log files:** + + Place your log file in the `log-analyser/jitsi-logs` directory. Update the `otel-collector-config.yaml` file with the correct file path to start ingesting the logs. This setup allows OpenTelemetry to read logs from the file and forward them to Loki. + +2. **Update the otel-collector-config.yaml file:** + + Update the file path to point to your log file for ingestion by OpenTelemetry. + +3. **Start the Docker containers:** + + ```bash + docker-compose -f docker-compose.yml -f log-analyser.yml up -d + ``` + +### Grafana + +1. **Start the Docker container:** + + ```bash + docker-compose -f docker-compose.yml -f grafana.yml up -d + ``` + +2. **Access Grafana:** + + Open your web browser and navigate to [http://localhost:3000](http://localhost:3000). + +3. **Log in to Grafana:** + + Use the default credentials: + + ``` + Username: admin + Password: admin + ``` + +### Dashboard Setup + +The dashboard setups are available as JSON files in the `log-analyser/grafana-dashboards` directory. You can import these JSON files into Grafana to use the pre-configured dashboards. In the future, we plan to automate this import process. + + +## Usage + +- **Log Parsing and Visualization:** After setting up, you can use Grafana to explore and visualize your logs. Check our dashboards and panels to monitor log data effectively. + + +## Acknowledgements + +Thanks for checking out this project! If you have any questions or need further assistance, don't hesitate to reach out. diff --git a/log-analyser/grafana-dashboards/jicofo.json b/log-analyser/grafana-dashboards/jicofo.json new file mode 100644 index 0000000000..2024180cf4 --- /dev/null +++ b/log-analyser/grafana-dashboards/jicofo.json @@ -0,0 +1,177 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": 1, + "links": [], + "liveNow": false, + "panels": [ + { + "datasource": { + "type": "loki", + "uid": "b8130a28-4867-4668-917d-539c93852857" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + } + }, + "mappings": [] + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "displayLabels": [ + "percent" + ], + "legend": { + "calcs": [], + "displayMode": "hidden", + "placement": "right", + "showLegend": false, + "values": [] + }, + "pieType": "pie", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "loki", + "uid": "b8130a28-4867-4668-917d-539c93852857" + }, + "editorMode": "code", + "expr": "sum by (attributes_level) (\n rate({exporter=\"OTLP\"} | json|attributes_log_file_name=\"jicofo.log\"| line_format \"{{.log}}\" | logfmt | pattern \"[<_>] <_level>: <_>\"[5m])\n)", + "legendFormat": "Level: {{attributes_level}}", + "queryType": "range", + "refId": "A" + } + ], + "title": "Log Levels Pie Chart", + "type": "piechart" + }, + { + "datasource": { + "type": "loki", + "uid": "b8130a28-4867-4668-917d-539c93852857" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "continuous-GrYlRd" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 8 + }, + "id": 1, + "options": { + "displayMode": "lcd", + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showUnfilled": true, + "valueMode": "color" + }, + "pluginVersion": "10.2.0", + "targets": [ + { + "datasource": { + "type": "loki", + "uid": "b8130a28-4867-4668-917d-539c93852857" + }, + "editorMode": "code", + "expr": "sum by (attributes_level, attributes_log_file_name) (\n rate({exporter=\"OTLP\"} | json|attributes_log_file_name=\"jicofo.log\"| line_format \"{{.attributes_message}}\" | logfmt | pattern \"[<_>] #: <_>\"[5m]))", + "legendFormat": "Level: {{attributes_level}}", + "queryType": "range", + "refId": "A" + } + ], + "title": "Log Levels Bar Chart", + "transformations": [], + "type": "bargauge" + } + ], + "refresh": "", + "schemaVersion": 38, + "tags": [], + "templating": { + "list": [] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Jicofo Logs", + "uid": "f2dcfe84-3c27-4b1d-8583-bc2c97a8d22d", + "version": 5, + "weekStart": "" +} diff --git a/log-analyser/grafana-dashboards/jitsi-all.json b/log-analyser/grafana-dashboards/jitsi-all.json new file mode 100644 index 0000000000..922ad2e12e --- /dev/null +++ b/log-analyser/grafana-dashboards/jitsi-all.json @@ -0,0 +1,136 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": 3, + "links": [], + "liveNow": false, + "panels": [ + { + "datasource": { + "type": "loki", + "uid": "b8130a28-4867-4668-917d-539c93852857" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "fillOpacity": 80, + "gradientMode": "opacity", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineWidth": 1, + "scaleDistribution": { + "type": "linear" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 1, + "options": { + "barRadius": 0, + "barWidth": 1, + "fullHighlight": false, + "groupWidth": 0.7, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "orientation": "auto", + "showValue": "auto", + "stacking": "none", + "tooltip": { + "mode": "single", + "sort": "none" + }, + "xTickLabelRotation": 0, + "xTickLabelSpacing": 0 + }, + "pluginVersion": "10.2.0", + "targets": [ + { + "datasource": { + "type": "loki", + "uid": "b8130a28-4867-4668-917d-539c93852857" + }, + "editorMode": "code", + "expr": "sum by (attributes_log_file_name) (\n rate({exporter=\"OTLP\"} | json | line_format \"{{.attributes_message}}\" | logfmt | pattern \"[<_>] <_level>: <_>\"[5m]))", + "legendFormat": "{{attributes_log_file_name}}", + "queryType": "range", + "refId": "A" + } + ], + "title": "Jicofo and JVB Log Counts", + "type": "barchart" + } + ], + "refresh": "", + "schemaVersion": 38, + "tags": [], + "templating": { + "list": [] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Jitsi All Components", + "uid": "b75d666d-4537-45e2-94a1-2783f9362b65", + "version": 1, + "weekStart": "" +} diff --git a/log-analyser/grafana-dashboards/jvb.json b/log-analyser/grafana-dashboards/jvb.json new file mode 100644 index 0000000000..9a2be5c10e --- /dev/null +++ b/log-analyser/grafana-dashboards/jvb.json @@ -0,0 +1,177 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": 2, + "links": [], + "liveNow": false, + "panels": [ + { + "datasource": { + "type": "loki", + "uid": "b8130a28-4867-4668-917d-539c93852857" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + } + }, + "mappings": [] + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "displayLabels": [ + "percent", + "name" + ], + "legend": { + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "pieType": "pie", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "loki", + "uid": "b8130a28-4867-4668-917d-539c93852857" + }, + "editorMode": "code", + "expr": "sum by (attributes_level) (\n rate({exporter=\"OTLP\"} | json|attributes_log_file_name=\"jvb.log\"| line_format \"{{.log}}\" | logfmt | pattern \"[<_>] <_level>: <_>\"[5m])\n)", + "legendFormat": "Level: {{attributes_level}}", + "queryType": "range", + "refId": "A" + } + ], + "title": "JVB Log Levels Pie Chart", + "type": "piechart" + }, + { + "datasource": { + "type": "loki", + "uid": "b8130a28-4867-4668-917d-539c93852857" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "continuous-GrYlRd" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 8 + }, + "id": 1, + "options": { + "displayMode": "lcd", + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showUnfilled": true, + "valueMode": "color" + }, + "pluginVersion": "10.2.0", + "targets": [ + { + "datasource": { + "type": "loki", + "uid": "b8130a28-4867-4668-917d-539c93852857" + }, + "editorMode": "code", + "expr": "sum by (attributes_level, attributes_log_file_name) (\n rate({exporter=\"OTLP\"} | json|attributes_log_file_name=\"jvb.log\"| line_format \"{{.attributes_message}}\" | logfmt | pattern \"[<_>] #: <_>\"[5m]))", + "legendFormat": "Level: {{attributes_level}}", + "queryType": "range", + "refId": "A" + } + ], + "title": "JVB Log Levels Bar Chart", + "type": "bargauge" + } + ], + "refresh": "", + "schemaVersion": 38, + "tags": [], + "templating": { + "list": [] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "JVB Dashboard", + "uid": "d53a9efb-ca3b-4f47-af3a-9638de8a35fa", + "version": 1, + "weekStart": "" +} diff --git a/log-analyser/grafana-provisioning/datasources/datasource_loki.yml b/log-analyser/grafana-provisioning/datasources/datasource_loki.yml new file mode 100644 index 0000000000..6c8883d376 --- /dev/null +++ b/log-analyser/grafana-provisioning/datasources/datasource_loki.yml @@ -0,0 +1,9 @@ +apiVersion: 1 + +datasources: + - name: Loki + isDefault: true + type: loki + access: proxy + url: http://loki:3100 + editable: true \ No newline at end of file diff --git a/log-analyser/loki/conf/loki-config.yaml b/log-analyser/loki/conf/loki-config.yaml new file mode 100644 index 0000000000..0d42a30083 --- /dev/null +++ b/log-analyser/loki/conf/loki-config.yaml @@ -0,0 +1,51 @@ +limits_config: + allow_structured_metadata: true + +auth_enabled: false + +server: + http_listen_port: 3100 + grpc_listen_port: 9096 + +common: + instance_addr: 127.0.0.1 + path_prefix: /tmp/loki + storage: + filesystem: + chunks_directory: /tmp/loki/chunks + rules_directory: /tmp/loki/rules + replication_factor: 1 + ring: + kvstore: + store: inmemory + +query_range: + results_cache: + cache: + embedded_cache: + enabled: true + max_size_mb: 100 + +schema_config: + configs: + - from: 2020-10-24 + store: tsdb + object_store: filesystem + schema: v13 + index: + prefix: index_ + period: 24h + + +# By default, Loki will send anonymous, but uniquely-identifiable usage and configuration +# analytics to Grafana Labs. These statistics are sent to https://stats.grafana.org/ +# +# Statistics help us better understand how Loki is used, and they show us performance +# levels for most users. This helps us prioritize features and documentation. +# For more information on what's sent, look at +# https://github.com/grafana/loki/blob/main/pkg/analytics/stats.go +# Refer to the buildReport method to see what goes into a report. +# +# If you would like to disable reporting, uncomment the following lines: +#analytics: +# reporting_enabled: false diff --git a/log-analyser/otel-collector-config.yaml b/log-analyser/otel-collector-config.yaml new file mode 100644 index 0000000000..d9f1636c68 --- /dev/null +++ b/log-analyser/otel-collector-config.yaml @@ -0,0 +1,53 @@ +receivers: + otlp: + protocols: + http: + grpc: + endpoint: 0.0.0.0:4317 + filelog/jicofo: + include: ['/tmp/jitsi-logs/jicofo.log'] + operators: + - type: regex_parser + regex: "^(?PJicofo) (?P\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}\\.\\d{3}) (?P\\w+): \\[(?P\\d+)\\] (?P[\\w\\.]+)#(?P\\d+): (?P[\\S\\s]*)$" + filelog/jvb: + include: ['/tmp/jitsi-logs/jvb.log'] + operators: + - type: regex_parser + regex: "^(?PJVB) (?P\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}\\.\\d{3}) (?P\\w+): \\[(?P\\d+)\\] (?P[\\w\\.]+)#(?P\\d+): (?P[\\S\\s]*)$" + filelog/prosody: + include: ['/tmp/jitsi-logs/prosody.log'] + operators: + - type: regex_parser + regex: "^(?P\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2})\\s+(?P\\S+)\\s+(?P\\w+)\\s+(?P.+)$" + filelog/jitsi-web: + include: ['/tmp/jitsi-logs/jitsi-web.log'] + operators: + - type: regex_parser + regex: "^(?P\\[\\w+-\\w+\\.\\w+\\]\\s+(\\w+\\s+)*\\w+:?\\s*.*$)" +processors: + batch: + +exporters: + logging: + loglevel: debug + loki: + endpoint: "http://loki:3100/loki/api/v1/push" + +service: + pipelines: + logs/jicofo: + receivers: [otlp, filelog/jicofo] + processors: [batch] + exporters: [loki] + logs/jvb: + receivers: [otlp, filelog/jvb] + processors: [batch] + exporters: [loki] + logs/prosody: + receivers: [otlp, filelog/prosody] + processors: [batch] + exporters: [loki] + logs/jitsi-web: + receivers: [otlp, filelog/jitsi-web] + processors: [batch] + exporters: [loki] From 0f7be5444b391d86d6d864da07c4347978c857d8 Mon Sep 17 00:00:00 2001 From: 24kushang <102860007+24kushang@users.noreply.github.com> Date: Wed, 3 Jul 2024 21:50:28 +0530 Subject: [PATCH 27/37] feat(prometheus): Prometheus container and basic scraping configuration (#1838) --- prometheus.yml | 13 +++++++++++++ prometheus/prometheus.yml | 5 +++++ 2 files changed, 18 insertions(+) create mode 100644 prometheus.yml create mode 100644 prometheus/prometheus.yml diff --git a/prometheus.yml b/prometheus.yml new file mode 100644 index 0000000000..ffe0bda1c9 --- /dev/null +++ b/prometheus.yml @@ -0,0 +1,13 @@ +services: + prometheus: + image: prom/prometheus + container_name: prometheus + command: + - "--config.file=/etc/prometheus/prometheus.yml" + ports: + - 9090:9090 + restart: ${RESTART_POLICY:-unless-stopped} + volumes: + - ./prometheus:/etc/prometheus + networks: + meet.jitsi: \ No newline at end of file diff --git a/prometheus/prometheus.yml b/prometheus/prometheus.yml new file mode 100644 index 0000000000..b806f42f0a --- /dev/null +++ b/prometheus/prometheus.yml @@ -0,0 +1,5 @@ +scrape_configs: + - job_name: "prometheus" + scrape_interval: 5s + static_configs: + - targets: ["prosody:5280","jvb:8080","jicofo:8888"] From 29a4523760543675ecbdcf9887751d06c0c9452d Mon Sep 17 00:00:00 2001 From: Halil Teyfik <49863255+teyfix@users.noreply.github.com> Date: Wed, 3 Jul 2024 21:10:32 +0300 Subject: [PATCH 28/37] feat(jvb) add JVB_CC_TRUST_BWE environment variable --- docker-compose.yml | 1 + jvb/rootfs/defaults/jvb.conf | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 06ba51bcbd..a0a40146a2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -425,6 +425,7 @@ services: - JVB_AUTH_USER - JVB_AUTH_PASSWORD - JVB_BREWERY_MUC + - JVB_CC_TRUST_BWE - JVB_DISABLE_STUN - JVB_DISABLE_XMPP - JVB_INSTANCE_ID diff --git a/jvb/rootfs/defaults/jvb.conf b/jvb/rootfs/defaults/jvb.conf index e33bc0e915..1a31c49b05 100644 --- a/jvb/rootfs/defaults/jvb.conf +++ b/jvb/rootfs/defaults/jvb.conf @@ -8,6 +8,7 @@ {{ $JVB_STUN_SERVERS := .Env.JVB_STUN_SERVERS | default "meet-jit-si-turnrelay.jitsi.net:443" -}} {{ $JVB_AUTH_USER := .Env.JVB_AUTH_USER | default "jvb" -}} {{ $JVB_BREWERY_MUC := .Env.JVB_BREWERY_MUC | default "jvbbrewery" -}} +{{ $JVB_CC_TRUST_BWE := .Env.JVB_CC_TRUST_BWE | default "true" | toBool -}} {{ $JVB_MUC_NICKNAME := .Env.JVB_MUC_NICKNAME | default .Env.HOSTNAME -}} {{ $JVB_ADVERTISE_PRIVATE_CANDIDATES := .Env.JVB_ADVERTISE_PRIVATE_CANDIDATES | default "true" | toBool -}} {{ $JVB_ADVERTISE_IPS := .Env.JVB_ADVERTISE_IPS | default "" -}} @@ -32,6 +33,9 @@ {{ $ENV := .Env -}} videobridge { + cc { + trust-bwe = {{ $JVB_CC_TRUST_BWE }} + } ice { udp { port = {{ .Env.JVB_PORT | default 10000 }} From 57384527339b3c1c8c53553fd4b3a82e1bc72f02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Wed, 3 Jul 2024 21:28:30 +0200 Subject: [PATCH 29/37] release: stable-9584-1 * 29a4523 feat(jvb) add JVB_CC_TRUST_BWE environment variable * 0f7be54 feat(prometheus): Prometheus container and basic scraping configuration (#1838) * 9c87bba feat(jitsi-meet): added grafana loki and otel integration for log analysis (#1844) * fcb90ba fix(web): whiteboard config.js syntax error (#1851) * 811518b misc: working on unstable --- CHANGELOG.md | 10 ++++++++++ docker-compose.yml | 8 ++++---- jibri.yml | 2 +- jigasi.yml | 2 +- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 284c7874d1..aa5d2b5dce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +## stable-9584-1 + +Based on stable release 9584-1. + +* 29a4523 feat(jvb) add JVB_CC_TRUST_BWE environment variable +* 0f7be54 feat(prometheus): Prometheus container and basic scraping configuration (#1838) +* 9c87bba feat(jitsi-meet): added grafana loki and otel integration for log analysis (#1844) +* fcb90ba fix(web): whiteboard config.js syntax error (#1851) +* 811518b misc: working on unstable + ## stable-9584 Based on stable release 9584. diff --git a/docker-compose.yml b/docker-compose.yml index a0a40146a2..e60115897a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.5' services: # Frontend web: - image: jitsi/web:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/web:${JITSI_IMAGE_VERSION:-stable-9584-1} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${HTTP_PORT}:80' @@ -180,7 +180,7 @@ services: # XMPP server prosody: - image: jitsi/prosody:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/prosody:${JITSI_IMAGE_VERSION:-stable-9584-1} restart: ${RESTART_POLICY:-unless-stopped} expose: - '${XMPP_PORT:-5222}' @@ -315,7 +315,7 @@ services: # Focus component jicofo: - image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-stable-9584-1} restart: ${RESTART_POLICY:-unless-stopped} ports: - '127.0.0.1:${JICOFO_REST_PORT:-8888}:8888' @@ -398,7 +398,7 @@ services: # Video bridge jvb: - image: jitsi/jvb:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/jvb:${JITSI_IMAGE_VERSION:-stable-9584-1} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${JVB_PORT:-10000}:${JVB_PORT:-10000}/udp' diff --git a/jibri.yml b/jibri.yml index 65c7d103e1..3717f026d7 100644 --- a/jibri.yml +++ b/jibri.yml @@ -2,7 +2,7 @@ version: '3.5' services: jibri: - image: jitsi/jibri:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/jibri:${JITSI_IMAGE_VERSION:-stable-9584-1} restart: ${RESTART_POLICY:-unless-stopped} volumes: - ${CONFIG}/jibri:/config:Z diff --git a/jigasi.yml b/jigasi.yml index 3ad1d3f658..5d855e4950 100644 --- a/jigasi.yml +++ b/jigasi.yml @@ -3,7 +3,7 @@ version: '3.5' services: # SIP gateway (audio) jigasi: - image: jitsi/jigasi:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/jigasi:${JITSI_IMAGE_VERSION:-stable-9584-1} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${JIGASI_PORT_MIN:-20000}-${JIGASI_PORT_MAX:-20050}:${JIGASI_PORT_MIN:-20000}-${JIGASI_PORT_MAX:-20050}/udp' From 2e9e6caab8a96e042678cfe5d4a465684ffbd984 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Wed, 3 Jul 2024 21:28:30 +0200 Subject: [PATCH 30/37] misc: working on unstable --- docker-compose.yml | 8 ++++---- jibri.yml | 2 +- jigasi.yml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index e60115897a..a0a40146a2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.5' services: # Frontend web: - image: jitsi/web:${JITSI_IMAGE_VERSION:-stable-9584-1} + image: jitsi/web:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${HTTP_PORT}:80' @@ -180,7 +180,7 @@ services: # XMPP server prosody: - image: jitsi/prosody:${JITSI_IMAGE_VERSION:-stable-9584-1} + image: jitsi/prosody:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} expose: - '${XMPP_PORT:-5222}' @@ -315,7 +315,7 @@ services: # Focus component jicofo: - image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-stable-9584-1} + image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} ports: - '127.0.0.1:${JICOFO_REST_PORT:-8888}:8888' @@ -398,7 +398,7 @@ services: # Video bridge jvb: - image: jitsi/jvb:${JITSI_IMAGE_VERSION:-stable-9584-1} + image: jitsi/jvb:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${JVB_PORT:-10000}:${JVB_PORT:-10000}/udp' diff --git a/jibri.yml b/jibri.yml index 3717f026d7..65c7d103e1 100644 --- a/jibri.yml +++ b/jibri.yml @@ -2,7 +2,7 @@ version: '3.5' services: jibri: - image: jitsi/jibri:${JITSI_IMAGE_VERSION:-stable-9584-1} + image: jitsi/jibri:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} volumes: - ${CONFIG}/jibri:/config:Z diff --git a/jigasi.yml b/jigasi.yml index 5d855e4950..3ad1d3f658 100644 --- a/jigasi.yml +++ b/jigasi.yml @@ -3,7 +3,7 @@ version: '3.5' services: # SIP gateway (audio) jigasi: - image: jitsi/jigasi:${JITSI_IMAGE_VERSION:-stable-9584-1} + image: jitsi/jigasi:${JITSI_IMAGE_VERSION:-unstable} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${JIGASI_PORT_MIN:-20000}-${JIGASI_PORT_MAX:-20050}:${JIGASI_PORT_MIN:-20000}-${JIGASI_PORT_MAX:-20050}/udp' From 41559d6adc96d85c9fb15ed0288c6c5f53bd8d3c Mon Sep 17 00:00:00 2001 From: Ilayda Dastan <43909097+ilaydadastan@users.noreply.github.com> Date: Sat, 6 Jul 2024 14:11:45 +0300 Subject: [PATCH 31/37] feat(log-analyser): added grafana dashboard provisioning (#1855) --- grafana.yml | 2 +- .../grafana-provisioning/dashboards/dashboards.yml | 11 +++++++++++ .../dashboards}/jicofo.json | 0 .../dashboards}/jitsi-all.json | 0 .../dashboards}/jvb.json | 0 5 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 log-analyser/grafana-provisioning/dashboards/dashboards.yml rename log-analyser/{grafana-dashboards => grafana-provisioning/dashboards}/jicofo.json (100%) rename log-analyser/{grafana-dashboards => grafana-provisioning/dashboards}/jitsi-all.json (100%) rename log-analyser/{grafana-dashboards => grafana-provisioning/dashboards}/jvb.json (100%) diff --git a/grafana.yml b/grafana.yml index 37d143c3ae..63b5b5bc67 100644 --- a/grafana.yml +++ b/grafana.yml @@ -8,6 +8,6 @@ services: - GF_ANALYTICS_REPORTING_ENABLED=false volumes: - ./log-analyser/grafana:/var/lib/grafana - - ./log-analyser/grafana-provisioning/:/etc/grafana/provisioning/ + - ./log-analyser/grafana-provisioning/dashboards/:/etc/grafana/provisioning/dashboards/ ports: - "3000:3000" diff --git a/log-analyser/grafana-provisioning/dashboards/dashboards.yml b/log-analyser/grafana-provisioning/dashboards/dashboards.yml new file mode 100644 index 0000000000..98128b0629 --- /dev/null +++ b/log-analyser/grafana-provisioning/dashboards/dashboards.yml @@ -0,0 +1,11 @@ +apiVersion: 1 + +providers: +- name: 'default' + orgId: 1 + folder: '' + type: file + disableDeletion: false + editable: true + options: + path: /etc/grafana/provisioning/dashboards diff --git a/log-analyser/grafana-dashboards/jicofo.json b/log-analyser/grafana-provisioning/dashboards/jicofo.json similarity index 100% rename from log-analyser/grafana-dashboards/jicofo.json rename to log-analyser/grafana-provisioning/dashboards/jicofo.json diff --git a/log-analyser/grafana-dashboards/jitsi-all.json b/log-analyser/grafana-provisioning/dashboards/jitsi-all.json similarity index 100% rename from log-analyser/grafana-dashboards/jitsi-all.json rename to log-analyser/grafana-provisioning/dashboards/jitsi-all.json diff --git a/log-analyser/grafana-dashboards/jvb.json b/log-analyser/grafana-provisioning/dashboards/jvb.json similarity index 100% rename from log-analyser/grafana-dashboards/jvb.json rename to log-analyser/grafana-provisioning/dashboards/jvb.json From d2c26aad54356785befd6368e4317b07ae2861cd Mon Sep 17 00:00:00 2001 From: Sebastian Denz Date: Sun, 7 Jul 2024 12:29:36 +0200 Subject: [PATCH 32/37] fix(jigasi) add missing variables to jigasi.yml --- jigasi.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/jigasi.yml b/jigasi.yml index 3ad1d3f658..2c8339826e 100644 --- a/jigasi.yml +++ b/jigasi.yml @@ -21,6 +21,7 @@ services: - AUTOSCALER_SIDECAR_SHUTDOWN_POLLING_INTERVAL - AUTOSCALER_SIDECAR_STATS_POLLING_INTERVAL - AUTOSCALER_URL + - BOSH_URL_PATTERN - ENABLE_AUTH - ENABLE_GUESTS - XMPP_AUTH_DOMAIN @@ -31,7 +32,10 @@ services: - XMPP_PORT - XMPP_DOMAIN - PUBLIC_URL + - JIGASI_CONFIGURATION - JIGASI_DISABLE_SIP + - JIGASI_JVB_TIMEOUT + - JIGASI_LOCAL_REGION - JIGASI_LOG_FILE - JIGASI_SIP_URI - JIGASI_SIP_PASSWORD @@ -63,6 +67,7 @@ services: - SENTRY_ENVIRONMENT - SENTRY_RELEASE - TZ + - USE_TRANSLATOR_IN_CONFERENCE depends_on: - prosody networks: From a88dd8bbbc27804c4b4e78e236b4e84579cc7352 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Tue, 9 Jul 2024 17:15:48 +0200 Subject: [PATCH 33/37] feat(jvb) default to using dcSCTP --- docker-compose.yml | 1 + jvb/rootfs/defaults/jvb.conf | 2 ++ 2 files changed, 3 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index a0a40146a2..94472633e4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -437,6 +437,7 @@ services: - JVB_OCTO_REGION - JVB_OCTO_RELAY_ID - JVB_REQUIRE_VALID_ADDRESS + - JVB_USE_USRSCTP - JVB_WS_DOMAIN - JVB_WS_SERVER_ID - JVB_WS_TLS diff --git a/jvb/rootfs/defaults/jvb.conf b/jvb/rootfs/defaults/jvb.conf index 1a31c49b05..92561b92e8 100644 --- a/jvb/rootfs/defaults/jvb.conf +++ b/jvb/rootfs/defaults/jvb.conf @@ -21,6 +21,7 @@ {{ $JVB_XMPP_SERVERS := splitList "," $JVB_XMPP_SERVER -}} {{ $PUBLIC_URL_DOMAIN := .Env.PUBLIC_URL | default "https://localhost:8443" | trimPrefix "https://" | trimSuffix "/" -}} {{ $SHUTDOWN_REST_ENABLED := .Env.SHUTDOWN_REST_ENABLED | default "false" | toBool -}} +{{ $USE_USRSCTP := .Env.JVB_USE_USRSCTP | default "false" | toBool -}} {{ $WS_DOMAIN := .Env.JVB_WS_DOMAIN | default $PUBLIC_URL_DOMAIN -}} {{ $WS_SERVER_ID := .Env.JVB_WS_SERVER_ID | default .Env.JVB_WS_SERVER_ID_FALLBACK | default "default" -}} {{ $WS_TLS := .Env.JVB_WS_TLS | default "1" | toBool -}} @@ -89,6 +90,7 @@ videobridge { } sctp { enabled = {{ $ENABLE_SCTP }} + use-usrsctp = {{ $USE_USRSCTP }} } stats { enabled = true From 54baee28b53cc652d25217faa5f03d2714c9024e Mon Sep 17 00:00:00 2001 From: 24kushang <102860007+24kushang@users.noreply.github.com> Date: Thu, 18 Jul 2024 18:33:05 +0530 Subject: [PATCH 34/37] feat(prosody): custom metrics of stanza counts for prosody service implemented (#1862) Co-authored-by: Kushang Haria --- docker-compose.yml | 1 + prosody/rootfs/defaults/prosody.cfg.lua | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 94472633e4..42b5db1490 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -261,6 +261,7 @@ services: - PROSODY_RESERVATION_ENABLED - PROSODY_RESERVATION_REST_BASE_URL - PROSODY_ENABLE_RATE_LIMITS + - PROSODY_ENABLE_STANZA_COUNTS - PROSODY_ENABLE_S2S - PROSODY_ENABLE_METRICS - PROSODY_GUEST_AUTH_TYPE diff --git a/prosody/rootfs/defaults/prosody.cfg.lua b/prosody/rootfs/defaults/prosody.cfg.lua index 8c6e172a44..3d1b80ce69 100644 --- a/prosody/rootfs/defaults/prosody.cfg.lua +++ b/prosody/rootfs/defaults/prosody.cfg.lua @@ -15,6 +15,7 @@ {{ $PROSODY_METRICS_ALLOWED_CIDR := .Env.PROSODY_METRICS_ALLOWED_CIDR | default "172.16.0.0/12" -}} {{ $PROSODY_HTTP_PORT := .Env.PROSODY_HTTP_PORT | default "5280" -}} {{ $PROSODY_ENABLE_METRICS := .Env.PROSODY_ENABLE_METRICS | default "false" | toBool -}} +{{ $PROSODY_ENABLE_STANZA_COUNTS := .Env.PROSODY_ENABLE_STANZA_COUNTS | default "false" | toBool -}} {{ $PROSODY_ADMINS := .Env.PROSODY_ADMINS | default "" -}} {{ $PROSODY_ADMIN_LIST := splitList "," $PROSODY_ADMINS -}} {{ $TRUSTED_PROXIES := .Env.PROSODY_TRUSTED_PROXIES | default "127.0.0.1,::1" -}} @@ -117,6 +118,11 @@ modules_enabled = { "http_openmetrics"; {{ end -}} + {{ if $PROSODY_ENABLE_STANZA_COUNTS }} + -- Stanza count metrics for monitoring + "measure_stanza_counts"; + {{ end -}} + {{ if .Env.GLOBAL_MODULES }} "{{ join "\";\n\"" (splitList "," .Env.GLOBAL_MODULES) }}"; {{ end }} From fae66ad05ccb6eda3dc3b4960bf9f384cde36796 Mon Sep 17 00:00:00 2001 From: emrah Date: Fri, 19 Jul 2024 10:20:52 +0300 Subject: [PATCH 35/37] fix(jibri): IGNORE_CERTIFICATE_ERRORS as boolean --- jibri/rootfs/defaults/jibri.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jibri/rootfs/defaults/jibri.conf b/jibri/rootfs/defaults/jibri.conf index 33199cb6c1..c342da0efb 100644 --- a/jibri/rootfs/defaults/jibri.conf +++ b/jibri/rootfs/defaults/jibri.conf @@ -1,3 +1,4 @@ +{{ $IGNORE_CERTIFICATE_ERRORS := .Env.IGNORE_CERTIFICATE_ERRORS | default "false" | toBool -}} {{ $ENABLE_PROMETHEUS := .Env.JIBRI_ENABLE_PROMETHEUS | default "false" | toBool -}} {{ $JIBRI_RECORDING_RESOLUTION := .Env.JIBRI_RECORDING_RESOLUTION | default "1280x720" -}} {{ $JIBRI_RECORDING_VIDEO_ENCODE_PRESET := .Env.JIBRI_RECORDING_VIDEO_ENCODE_PRESET | default "veryfast" -}} @@ -64,7 +65,7 @@ jibri { "{{ join "\",\"" (splitList "," .Env.CHROMIUM_FLAGS) }}" ] } - {{ else if .Env.IGNORE_CERTIFICATE_ERRORS -}} + {{ else if $IGNORE_CERTIFICATE_ERRORS -}} chrome { flags = [ "--use-fake-ui-for-media-stream", From 0dad31dc2153145fbeb40e32294536efc72cca27 Mon Sep 17 00:00:00 2001 From: "Marco A. Da Silva A." Date: Wed, 31 Jul 2024 17:45:16 -0400 Subject: [PATCH 36/37] fix(jicofo) enable jigasi brewery with ENABLE_TRANSCRIPTIONS --- jicofo/rootfs/defaults/jicofo.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jicofo/rootfs/defaults/jicofo.conf b/jicofo/rootfs/defaults/jicofo.conf index e0849b79b0..604060d6f3 100644 --- a/jicofo/rootfs/defaults/jicofo.conf +++ b/jicofo/rootfs/defaults/jicofo.conf @@ -13,6 +13,7 @@ {{ $ENABLE_JVB_XMPP_SERVER := .Env.ENABLE_JVB_XMPP_SERVER | default "0" | toBool -}} {{ $HEALTH_CHECKS_USE_PRESENCE := .Env.JICOFO_HEALTH_CHECKS_USE_PRESENCE | default "0" | toBool -}} {{ $JIBRI_BREWERY_MUC := .Env.JIBRI_BREWERY_MUC | default "jibribrewery" -}} +{{ $ENABLE_TRANSCRIPTIONS := .Env.ENABLE_TRANSCRIPTIONS | default "0" | toBool -}} {{ $JIGASI_BREWERY_MUC := .Env.JIGASI_BREWERY_MUC | default "jigasibrewery" -}} {{ $JVB_BREWERY_MUC := .Env.JVB_BREWERY_MUC | default "jvbbrewery" -}} {{ $JIBRI_PENDING_TIMEOUT := .Env.JIBRI_PENDING_TIMEOUT | default "90 seconds" -}} @@ -203,7 +204,7 @@ jicofo { } {{ end }} - {{ if and .Env.JIGASI_SIP_URI $JIGASI_BREWERY_MUC }} + {{ if or .Env.JIGASI_SIP_URI $ENABLE_TRANSCRIPTIONS }} jigasi { brewery-jid = "{{ $JIGASI_BREWERY_MUC }}@{{ $XMPP_INTERNAL_MUC_DOMAIN }}" } From b416ecca5c2e0ac1626964cd72065d05581497e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Mon, 5 Aug 2024 11:32:16 +0200 Subject: [PATCH 37/37] release: stable-9646 * 0dad31d fix(jicofo) enable jigasi brewery with ENABLE_TRANSCRIPTIONS * fae66ad fix(jibri): IGNORE_CERTIFICATE_ERRORS as boolean * 54baee2 feat(prosody): custom metrics of stanza counts for prosody service implemented (#1862) * a88dd8b feat(jvb) default to using dcSCTP * d2c26aa fix(jigasi) add missing variables to jigasi.yml * 41559d6 feat(log-analyser): added grafana dashboard provisioning (#1855) * 2e9e6ca misc: working on unstable --- CHANGELOG.md | 12 ++++++++++++ docker-compose.yml | 8 ++++---- jibri.yml | 2 +- jigasi.yml | 2 +- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aa5d2b5dce..479db34b48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +## stable-9646 + +Based on stable release 9646. + +* 0dad31d fix(jicofo) enable jigasi brewery with ENABLE_TRANSCRIPTIONS +* fae66ad fix(jibri): IGNORE_CERTIFICATE_ERRORS as boolean +* 54baee2 feat(prosody): custom metrics of stanza counts for prosody service implemented (#1862) +* a88dd8b feat(jvb) default to using dcSCTP +* d2c26aa fix(jigasi) add missing variables to jigasi.yml +* 41559d6 feat(log-analyser): added grafana dashboard provisioning (#1855) +* 2e9e6ca misc: working on unstable + ## stable-9584-1 Based on stable release 9584-1. diff --git a/docker-compose.yml b/docker-compose.yml index 42b5db1490..ff26f58349 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.5' services: # Frontend web: - image: jitsi/web:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/web:${JITSI_IMAGE_VERSION:-stable-9646} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${HTTP_PORT}:80' @@ -180,7 +180,7 @@ services: # XMPP server prosody: - image: jitsi/prosody:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/prosody:${JITSI_IMAGE_VERSION:-stable-9646} restart: ${RESTART_POLICY:-unless-stopped} expose: - '${XMPP_PORT:-5222}' @@ -316,7 +316,7 @@ services: # Focus component jicofo: - image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-stable-9646} restart: ${RESTART_POLICY:-unless-stopped} ports: - '127.0.0.1:${JICOFO_REST_PORT:-8888}:8888' @@ -399,7 +399,7 @@ services: # Video bridge jvb: - image: jitsi/jvb:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/jvb:${JITSI_IMAGE_VERSION:-stable-9646} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${JVB_PORT:-10000}:${JVB_PORT:-10000}/udp' diff --git a/jibri.yml b/jibri.yml index 65c7d103e1..24a1a3433f 100644 --- a/jibri.yml +++ b/jibri.yml @@ -2,7 +2,7 @@ version: '3.5' services: jibri: - image: jitsi/jibri:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/jibri:${JITSI_IMAGE_VERSION:-stable-9646} restart: ${RESTART_POLICY:-unless-stopped} volumes: - ${CONFIG}/jibri:/config:Z diff --git a/jigasi.yml b/jigasi.yml index 2c8339826e..c993930d49 100644 --- a/jigasi.yml +++ b/jigasi.yml @@ -3,7 +3,7 @@ version: '3.5' services: # SIP gateway (audio) jigasi: - image: jitsi/jigasi:${JITSI_IMAGE_VERSION:-unstable} + image: jitsi/jigasi:${JITSI_IMAGE_VERSION:-stable-9646} restart: ${RESTART_POLICY:-unless-stopped} ports: - '${JIGASI_PORT_MIN:-20000}-${JIGASI_PORT_MAX:-20050}:${JIGASI_PORT_MIN:-20000}-${JIGASI_PORT_MAX:-20050}/udp'