Pārlūkot izejas kodu

prosody: add support for lobby

Saúl Ibarra Corretgé 4 gadi atpakaļ
vecāks
revīzija
a81ad73
3 mainītis faili ar 21 papildinājumiem un 1 dzēšanām
  1. 1 0
      docker-compose.yml
  2. 3 1
      env.example
  3. 17 0
      prosody/rootfs/defaults/conf.d/jitsi-meet.cfg.lua

+ 1 - 0
docker-compose.yml

@@ -59,6 +59,7 @@ services:
             - AUTH_TYPE
             - ENABLE_AUTH
             - ENABLE_GUESTS
+            - ENABLE_LOBBY
             - GLOBAL_MODULES
             - GLOBAL_CONFIG
             - LDAP_URL

+ 3 - 1
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

+ 17 - 0
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 }}