File tree 4 files changed +26
-2
lines changed 4 files changed +26
-2
lines changed Original file line number Diff line number Diff line change @@ -24,6 +24,8 @@ services:
24
24
- CALLSTATS_SECRET
25
25
- CHROME_EXTENSION_BANNER_JSON
26
26
- COLIBRI_WEBSOCKET_PORT
27
+ - COLIBRI_WEBSOCKET_JVB_LOOKUP_NAME
28
+ - COLIBRI_WEBSOCKET_REGEX
27
29
- CONFCODE_URL
28
30
- CONFIG_EXTERNAL_CONNECT
29
31
- DEFAULT_LANGUAGE
@@ -38,6 +40,7 @@ services:
38
40
- DIALOUT_AUTH_URL
39
41
- DIALOUT_CODES_URL
40
42
- DISABLE_AUDIO_LEVELS
43
+ - DISABLE_COLIBRI_WEBSOCKET_JVB_LOOKUP
41
44
- DISABLE_DEEP_LINKING
42
45
- DISABLE_GRANT_MODERATOR
43
46
- DISABLE_HTTPS
@@ -58,6 +61,7 @@ services:
58
61
- ENABLE_BREAKOUT_ROOMS
59
62
- ENABLE_CALENDAR
60
63
- ENABLE_COLIBRI_WEBSOCKET
64
+ - ENABLE_COLIBRI_WEBSOCKET_UNSAFE_REGEX
61
65
- ENABLE_E2EPING
62
66
- ENABLE_FILE_RECORDING_SHARING
63
67
- ENABLE_GUESTS
Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ ADD https://raw.githubusercontent.com/acmesh-official/acme.sh/2.8.8/acme.sh /opt
12
12
COPY rootfs/ /
13
13
14
14
RUN apt-dpkg-wrap apt-get update && \
15
- apt-dpkg-wrap apt-get install -y cron nginx-extras jitsi-meet-web socat curl jq && \
15
+ apt-dpkg-wrap apt-get install -y dnsutils cron nginx-extras jitsi-meet-web socat curl jq && \
16
16
mv /usr/share/jitsi-meet/interface_config.js /defaults && \
17
17
rm -f /etc/nginx/conf.d/default.conf && \
18
18
apt-cleanup
Original file line number Diff line number Diff line change 1
1
{{ $ENABLE_COLIBRI_WEBSOCKET := .Env.ENABLE_COLIBRI_WEBSOCKET | default "1" | toBool }}
2
2
{{ $COLIBRI_WEBSOCKET_PORT := .Env.COLIBRI_WEBSOCKET_PORT | default "9090" }}
3
+ {{ $COLIBRI_WEBSOCKET_REGEX := .Env.COLIBRI_WEBSOCKET_REGEX | default "jvb" }}
3
4
{{ $ENABLE_JAAS_COMPONENTS := .Env.ENABLE_JAAS_COMPONENTS | default "0" | toBool }}
4
5
{{ $ENABLE_OCTO := .Env.ENABLE_OCTO | default "0" | toBool -}}
5
6
{{ $ENABLE_XMPP_WEBSOCKET := .Env.ENABLE_XMPP_WEBSOCKET | default "1" | toBool }}
@@ -69,7 +70,7 @@ location ~ ^/(libs|css|static|images|fonts|lang|sounds|connection_optimization|.
69
70
70
71
{{ if $ENABLE_COLIBRI_WEBSOCKET }}
71
72
# colibri (JVB) websockets
72
- location ~ ^/colibri-ws/([a-zA-Z0-9-\._]+ )/(.*) {
73
+ location ~ ^/colibri-ws/({{ $COLIBRI_WEBSOCKET_REGEX }} )/(.*) {
73
74
tcp_nodelay on;
74
75
75
76
proxy_http_version 1.1;
Original file line number Diff line number Diff line change 88
88
89
89
echo "Using Nginx resolver: =$NGINX_RESOLVER="
90
90
91
+ # colibri-ws settings
92
+ COLIBRI_WEBSOCKET_UNSAFE_REGEX="[a-zA-Z0-9-\._]+"
93
+ # use custom websocket regex if provided
94
+ if [ -z "$COLIBRI_WEBSOCKET_REGEX" ]; then
95
+ # default to the previous unsafe behavior only if flag is set
96
+ if [[ "$ENABLE_COLIBRI_WEBSOCKET_UNSAFE_REGEX" == "1" ]]; then
97
+ export COLIBRI_WEBSOCKET_REGEX="$COLIBRI_WEBSOCKET_UNSAFE_REGEX"
98
+ else
99
+ # default value to the JVB IP, works in compose and anywhere a dns lookup of the JVB reveals the correct IP for proxying
100
+ [ -z "$COLIBRI_WEBSOCKET_JVB_LOOKUP_NAME" ] && export COLIBRI_WEBSOCKET_JVB_LOOKUP_NAME="jvb"
101
+ if [[ "$DISABLE_COLIBRI_WEBSOCKET_JVB_LOOKUP" == "1" ]]; then
102
+ # otherwise value default to the static value in the template 'jvb'
103
+ echo "WARNING: DISABLE_COLIBRI_WEBSOCKET_JVB_LOOKUP is set and no value for COLIBRI_WEBSOCKET_REGEX was provided, using static value 'jvb' for COLIBRI_WEBSOCKET_REGEX"
104
+ else
105
+ export COLIBRI_WEBSOCKET_REGEX="$(dig +short +search $COLIBRI_WEBSOCKET_JVB_LOOKUP_NAME)"
106
+ fi
107
+ fi
108
+ fi
109
+
91
110
# copy config files
92
111
tpl /defaults/nginx.conf > /config/nginx/nginx.conf
93
112
You can’t perform that action at this time.
0 commit comments