web,prosody: add XMPP WebSocket / Stream Management support
This commit is contained in:
committed by
Saúl Ibarra Corretgé
parent
130eb551a7
commit
d747bfbe6b
@@ -15,6 +15,9 @@ http_default_host = "{{ .Env.XMPP_DOMAIN }}"
|
||||
{{ $JWT_TOKEN_AUTH_MODULE := .Env.JWT_TOKEN_AUTH_MODULE | default "token_verification" }}
|
||||
{{ $ENABLE_LOBBY := .Env.ENABLE_LOBBY | default "0" | toBool }}
|
||||
|
||||
{{ $ENABLE_XMPP_WEBSOCKET := .Env.ENABLE_XMPP_WEBSOCKET | default "0" | toBool }}
|
||||
{{ $PUBLIC_URL := .Env.PUBLIC_URL | default "https://localhost:8443" -}}
|
||||
|
||||
{{ if and $ENABLE_AUTH (eq $AUTH_TYPE "jwt") .Env.JWT_ACCEPTED_ISSUERS }}
|
||||
asap_accepted_issuers = { "{{ join "\",\"" (splitList "," .Env.JWT_ACCEPTED_ISSUERS) }}" }
|
||||
{{ end }}
|
||||
@@ -23,6 +26,13 @@ asap_accepted_issuers = { "{{ join "\",\"" (splitList "," .Env.JWT_ACCEPTED_ISSU
|
||||
asap_accepted_audiences = { "{{ join "\",\"" (splitList "," .Env.JWT_ACCEPTED_AUDIENCES) }}" }
|
||||
{{ end }}
|
||||
|
||||
{{ if $ENABLE_XMPP_WEBSOCKET }}
|
||||
-- Deprecated in 0.12
|
||||
-- https://github.com/bjc/prosody/commit/26542811eafd9c708a130272d7b7de77b92712de
|
||||
cross_domain_websocket = { "{{ $PUBLIC_URL }}" };
|
||||
consider_bosh_secure = true;
|
||||
{{ end }}
|
||||
|
||||
VirtualHost "{{ .Env.XMPP_DOMAIN }}"
|
||||
{{ if $ENABLE_AUTH }}
|
||||
{{ if eq $AUTH_TYPE "jwt" }}
|
||||
@@ -42,7 +52,15 @@ VirtualHost "{{ .Env.XMPP_DOMAIN }}"
|
||||
authentication = "internal_hashed"
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
-- https://github.com/jitsi/docker-jitsi-meet/pull/502#issuecomment-619146339
|
||||
{{ if $ENABLE_XMPP_WEBSOCKET }}
|
||||
authentication = "token"
|
||||
{{ else }}
|
||||
authentication = "anonymous"
|
||||
{{ end }}
|
||||
app_id = ""
|
||||
app_secret = ""
|
||||
allow_empty_token = true
|
||||
{{ end }}
|
||||
ssl = {
|
||||
key = "/config/certs/{{ .Env.XMPP_DOMAIN }}.key";
|
||||
@@ -50,6 +68,10 @@ VirtualHost "{{ .Env.XMPP_DOMAIN }}"
|
||||
}
|
||||
modules_enabled = {
|
||||
"bosh";
|
||||
{{ if $ENABLE_XMPP_WEBSOCKET }}
|
||||
"websocket";
|
||||
"smacks"; -- XEP-0198: Stream Management
|
||||
{{ end }}
|
||||
"pubsub";
|
||||
"ping";
|
||||
"speakerstats";
|
||||
@@ -80,7 +102,16 @@ VirtualHost "{{ .Env.XMPP_DOMAIN }}"
|
||||
|
||||
{{ if $ENABLE_GUEST_DOMAIN }}
|
||||
VirtualHost "{{ .Env.XMPP_GUEST_DOMAIN }}"
|
||||
-- https://github.com/jitsi/docker-jitsi-meet/pull/502#issuecomment-619146339
|
||||
{{ if $ENABLE_XMPP_WEBSOCKET }}
|
||||
authentication = "token"
|
||||
{{ else }}
|
||||
authentication = "anonymous"
|
||||
{{ end }}
|
||||
app_id = ""
|
||||
app_secret = ""
|
||||
allow_empty_token = true
|
||||
|
||||
c2s_require_encryption = false
|
||||
|
||||
{{ if $ENABLE_LOBBY }}
|
||||
|
||||
@@ -43,7 +43,7 @@ modules_enabled = {
|
||||
-- Not essential, but recommended
|
||||
"private"; -- Private XML storage (for room bookmarks, etc.)
|
||||
"vcard"; -- Allow users to set vCards
|
||||
|
||||
|
||||
-- These are commented by default as they have a performance impact
|
||||
--"privacy"; -- Support privacy lists
|
||||
--"compression"; -- Stream compression (Debian: requires lua-zlib module to work)
|
||||
@@ -59,7 +59,7 @@ modules_enabled = {
|
||||
-- Admin interfaces
|
||||
"admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands
|
||||
--"admin_telnet"; -- Opens telnet console interface on localhost port 5582
|
||||
|
||||
|
||||
-- HTTP modules
|
||||
--"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
|
||||
--"http_files"; -- Serve static files from a directory over HTTP
|
||||
@@ -166,4 +166,9 @@ component_interface = { "*" }
|
||||
|
||||
data_path = "/config/data"
|
||||
|
||||
smacks_max_unacked_stanzas = 5;
|
||||
smacks_hibernation_time = 60;
|
||||
smacks_max_hibernated_sessions = 1;
|
||||
smacks_max_old_sessions = 1;
|
||||
|
||||
Include "conf.d/*.cfg.lua"
|
||||
|
||||
Reference in New Issue
Block a user