From a81ad73429c7c497635dc542976b4acaf8b1cf35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Wed, 22 Jul 2020 11:00:46 +0200 Subject: [PATCH] prosody: add support for lobby --- docker-compose.yml | 1 + env.example | 4 +++- .../rootfs/defaults/conf.d/jitsi-meet.cfg.lua | 17 +++++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index bab3938..f575fbc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -59,6 +59,7 @@ services: - AUTH_TYPE - ENABLE_AUTH - ENABLE_GUESTS + - ENABLE_LOBBY - GLOBAL_MODULES - GLOBAL_CONFIG - LDAP_URL diff --git a/env.example b/env.example index 961822e..0394cec 100644 --- a/env.example +++ b/env.example @@ -49,6 +49,8 @@ TZ=UTC # See the "Running behind NAT or on a LAN environment" section in the README #DOCKER_HOST_ADDRESS=192.168.1.1 +# Control whether the lobby feature should be enabled or not +#ENABLE_LOBBY=1 # # Let's Encrypt configuration @@ -94,7 +96,7 @@ TZ=UTC #JIGASI_SIP_TRANSPORT=UDP # -# Authentication configuration (see README for details) +# Authentication configuration (see handbook for details) # # Enable authentication diff --git a/prosody/rootfs/defaults/conf.d/jitsi-meet.cfg.lua b/prosody/rootfs/defaults/conf.d/jitsi-meet.cfg.lua index f88cc66..6d584cc 100644 --- a/prosody/rootfs/defaults/conf.d/jitsi-meet.cfg.lua +++ b/prosody/rootfs/defaults/conf.d/jitsi-meet.cfg.lua @@ -12,6 +12,7 @@ http_default_host = "{{ .Env.XMPP_DOMAIN }}" {{ $JWT_ALLOW_EMPTY := .Env.JWT_ALLOW_EMPTY | default "0" | toBool }} {{ $JWT_AUTH_TYPE := .Env.JWT_AUTH_TYPE | default "token" }} {{ $JWT_TOKEN_AUTH_MODULE := .Env.JWT_TOKEN_AUTH_MODULE | default "token_verification" }} +{{ $ENABLE_LOBBY := .Env.ENABLE_LOBBY | default "0" | toBool }} {{ if and $ENABLE_AUTH (eq $AUTH_TYPE "jwt") .Env.JWT_ACCEPTED_ISSUERS }} asap_accepted_issuers = { "{{ join "\",\"" (splitList "," .Env.JWT_ACCEPTED_ISSUERS) }}" } @@ -52,6 +53,9 @@ VirtualHost "{{ .Env.XMPP_DOMAIN }}" "ping"; "speakerstats"; "conference_duration"; + {{ if $ENABLE_LOBBY }} + "muc_lobby_rooms"; + {{ end }} {{ if .Env.XMPP_MODULES }} "{{ join "\";\n\"" (splitList "," .Env.XMPP_MODULES) }}"; {{ end }} @@ -60,6 +64,11 @@ VirtualHost "{{ .Env.XMPP_DOMAIN }}" {{end}} } + {{ if $ENABLE_LOBBY }} + main_muc = "{{ .Env.XMPP_MUC_DOMAIN }}" + lobby_muc = "lobby.{{ .Env.XMPP_DOMAIN }}" + {{ end }} + speakerstats_component = "speakerstats.{{ .Env.XMPP_DOMAIN }}" conference_duration_component = "conferenceduration.{{ .Env.XMPP_DOMAIN }}" @@ -120,3 +129,11 @@ Component "speakerstats.{{ .Env.XMPP_DOMAIN }}" "speakerstats_component" Component "conferenceduration.{{ .Env.XMPP_DOMAIN }}" "conference_duration_component" muc_component = "{{ .Env.XMPP_MUC_DOMAIN }}" + +{{ if $ENABLE_LOBBY }} +Component "lobby.{{ .Env.XMPP_DOMAIN }}" "muc" + storage = "memory" + restrict_room_creation = true + muc_room_locking = false + muc_room_default_public_jids = true +{{ end }}