@drumee/setup-infra 1.0.15 → 1.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/create-local-certs +38 -0
- package/bin/env +8 -5
- package/bin/init-acme +23 -4
- package/bin/init-named +1 -1
- package/bin/install +28 -4
- package/bin/prosody +21 -12
- package/index.js +316 -218
- package/package.json +2 -2
- package/templates/etc/bind/named.conf.local +39 -0
- package/templates/etc/bind/named.conf.options +13 -4
- package/templates/etc/dhcp/dhclient.conf +55 -0
- package/templates/etc/drumee/certs/jitsi.private.cnf +13 -0
- package/templates/etc/drumee/certs/private.cnf +13 -0
- package/templates/etc/drumee/conf.d/conference.private.json +9 -0
- package/templates/etc/drumee/conf.d/conference.public.json +9 -0
- package/templates/etc/drumee/conf.d/myDrumee.json.tpl +2 -1
- package/templates/etc/drumee/drumee.sh.tpl +33 -17
- package/templates/etc/drumee/infrastructure/internals/accel.private.conf.tpl +47 -0
- package/templates/etc/drumee/infrastructure/internals/{accel.conf.tpl → accel.public.conf.tpl} +1 -1
- package/templates/etc/drumee/infrastructure/{platform.json.tpl → mfs.private.conf.tpl} +5 -5
- package/templates/etc/drumee/infrastructure/{mfs.conf.tpl → mfs.public.conf.tpl} +1 -1
- package/templates/etc/drumee/infrastructure/routes/private.conf.tpl +143 -0
- package/templates/etc/drumee/infrastructure/routes/{main.conf.tpl → public.conf.tpl} +18 -28
- package/templates/etc/drumee/infrastructure/servers/tt.conf +9 -9
- package/templates/etc/drumee/ssl/private.conf.tpl +2 -1
- package/templates/etc/drumee/ssl/public.conf.tpl +1 -1
- package/templates/etc/jitsi/jicofo/jicofo.private.conf.tpl +46 -0
- package/templates/etc/jitsi/jicofo/{jicofo.conf.tpl → jicofo.public.conf.tpl} +7 -7
- package/templates/etc/jitsi/jicofo/sip-cmmunicator.private.properties +3 -0
- package/templates/etc/jitsi/jicofo/sip-cmmunicator.public.properties +3 -0
- package/templates/etc/jitsi/meet.private.conf.tpl +132 -0
- package/templates/etc/jitsi/{meet.conf.tpl → meet.public.conf.tpl} +5 -5
- package/templates/etc/jitsi/ssl.private.conf.tpl +25 -0
- package/templates/etc/jitsi/{ssl.conf.tpl → ssl.public.conf.tpl} +3 -3
- package/templates/etc/jitsi/videobridge/defaults/jvb.conf +1 -1
- package/templates/etc/jitsi/videobridge/jvb.private.conf +67 -0
- package/templates/etc/jitsi/videobridge/{jvb.conf → jvb.public.conf} +6 -6
- package/templates/etc/jitsi/web/config.private.js.tpl +208 -0
- package/templates/etc/jitsi/web/{config.js.tpl → config.public.js.tpl} +4 -4
- package/templates/etc/jitsi/web/defaults/default +2 -2
- package/templates/etc/jitsi/web/defaults/meet.conf +3 -3
- package/templates/etc/mysql/mariadb.conf.d/50-server.cnf +3 -3
- package/templates/etc/nginx/modules-enabled/{90-turn-relay.conf → 90-turn-relay.private.conf.tpl} +6 -6
- package/templates/etc/nginx/modules-enabled/{90-turn-relay.conf.tpl → 90-turn-relay.public.conf.tpl} +4 -4
- package/templates/etc/nginx/nginx.conf +3 -1
- package/templates/etc/nginx/sites-enabled/{public.conf.tpl → 01-public.conf.tpl} +7 -7
- package/templates/etc/nginx/sites-enabled/{private.conf.tpl → 02-private.conf.tpl} +6 -6
- package/templates/etc/nginx/sites-enabled/{jitsi.conf.tpl → 20-jitsi.private.conf.tpl} +9 -9
- package/templates/etc/nginx/sites-enabled/{pivate.jitsi.conf.tpl → 20-jitsi.public.conf.tpl} +9 -9
- package/templates/etc/nginx/sites-enabled/{localhost.conf → loopback.tpl} +10 -9
- package/templates/etc/nginx/sites-enabled/turnrelay.conf.tpl +4 -4
- package/templates/etc/prosody/conf.d/private.cfg.lua.tpl +51 -51
- package/templates/etc/prosody/conf.d/public.cfg.lua.tpl +47 -47
- package/templates/etc/prosody/defaults/conf.d/jitsi-meet.cfg.lua +3 -3
- package/templates/etc/turnserver.private.conf.tpl +46 -0
- package/templates/etc/{turnserver.conf.tpl → turnserver.public.conf.tpl} +3 -3
- package/templates/index.js +3 -2
- package/templates/utils.js +22 -147
- package/templates/var/lib/bind/domain.tpl +70 -0
- package/templates/var/lib/bind/private-reverse.tpl +1 -1
- package/templates/var/lib/bind/{prvate.tpl → private.tpl} +1 -10
- package/templates/var/lib/bind/public-reverse.tpl +7 -7
- package/templates/var/lib/bind/public.tpl +7 -7
- package/bin/init-private +0 -40
- package/bin/set-jitsi-conf +0 -14
- package/template.js +0 -453
- package/templates/etc/bind/named.conf.private +0 -21
- package/templates/etc/bind/named.conf.public +0 -21
- package/templates/etc/drumee/conf.d/conference.json.tpl +0 -9
- package/templates/etc/drumee/dnsapi.sh.tpl +0 -28
- package/templates/etc/drumee/env.json +0 -29
- package/templates/etc/jitsi/jicofo/sip-cmmunicator.properties +0 -3
- package/templates/etc/nginx/sites-enabled/public.jitsi.conf.tpl +0 -28
- package/templates/etc/prosody/conf.d/vhost.cfg.lua.tpl +0 -162
|
@@ -33,7 +33,7 @@ server {
|
|
|
33
33
|
|
|
34
34
|
location ^~ /.well-known/acme-challenge/ {
|
|
35
35
|
default_type "text/plain";
|
|
36
|
-
root
|
|
36
|
+
root <%= jitsi_root_dir %>;
|
|
37
37
|
}
|
|
38
38
|
location = /.well-known/acme-challenge/ {
|
|
39
39
|
return 404;
|
|
@@ -43,8 +43,8 @@ server {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
server {
|
|
46
|
-
listen
|
|
47
|
-
listen [::]
|
|
46
|
+
listen <%= public_https_port %> ssl;
|
|
47
|
+
listen [::]:<%= public_https_port %> ssl;
|
|
48
48
|
server_name placeholder.placeholder.com;
|
|
49
49
|
|
|
50
50
|
# Mozilla Guideline v5.4, nginx 1.17.7, OpenSSL 1.1.1d, intermediate configuration
|
|
@@ -59,10 +59,10 @@ server {
|
|
|
59
59
|
add_header Strict-Transport-Security "max-age=63072000" always;
|
|
60
60
|
set $prefix "";
|
|
61
61
|
|
|
62
|
-
ssl_certificate /
|
|
63
|
-
ssl_certificate_key /
|
|
62
|
+
ssl_certificate /etc/drumee/certs/acme/certs/;
|
|
63
|
+
ssl_certificate_key /etc/drumee/certs/acme/certs/;
|
|
64
64
|
|
|
65
|
-
root
|
|
65
|
+
root <%= jitsi_root_dir %>;
|
|
66
66
|
|
|
67
67
|
# ssi on with javascript for multidomain variables in config.js
|
|
68
68
|
ssi on;
|
|
@@ -82,7 +82,7 @@ server {
|
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
location = /external_api.js {
|
|
85
|
-
alias
|
|
85
|
+
alias <%= jitsi_root_dir %>/libs/external_api.min.js;
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
location = /_api/room-info {
|
|
@@ -96,7 +96,7 @@ server {
|
|
|
96
96
|
location ~ ^/(libs|css|static|images|fonts|lang|sounds|.well-known)/(.*)$
|
|
97
97
|
{
|
|
98
98
|
add_header 'Access-Control-Allow-Origin' '*';
|
|
99
|
-
alias
|
|
99
|
+
alias <%= jitsi_root_dir %>/$1/$2;
|
|
100
100
|
|
|
101
101
|
# cache all versioned files
|
|
102
102
|
if ($arg_v) {
|
|
@@ -138,7 +138,7 @@ server {
|
|
|
138
138
|
#}
|
|
139
139
|
#location ~ ^/_load-test/libs/(.*)$ {
|
|
140
140
|
# add_header 'Access-Control-Allow-Origin' '*';
|
|
141
|
-
# alias
|
|
141
|
+
# alias <%= jitsi_root_dir %>/load-test/libs/$1;
|
|
142
142
|
#}
|
|
143
143
|
|
|
144
144
|
location ~ ^/([^/?&:'"]+)$ {
|
|
@@ -4,5 +4,6 @@
|
|
|
4
4
|
# Date : <%= date %>
|
|
5
5
|
# -------------------------------------------------------------
|
|
6
6
|
|
|
7
|
+
ssl_certificate <%= certs_dir %>/<%= private_domain %>_ecc/<%= private_domain %>.cer;
|
|
8
|
+
ssl_trusted_certificate <%= certs_dir %>/<%= private_domain %>_ecc/<%= private_domain %>.cer;
|
|
7
9
|
ssl_certificate_key <%= certs_dir %>/<%= private_domain %>_ecc/<%= private_domain %>.key;
|
|
8
|
-
ssl_trusted_certificate <%= certs_dir %>/<%= private_domain %>_ecc/<%= private_domain %>.cer;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# Date : <%= date %>
|
|
5
5
|
# -------------------------------------------------------------
|
|
6
6
|
|
|
7
|
-
ssl_certificate_key <%= certs_dir %>/<%= public_domain %>_ecc/<%= public_domain %>.key;
|
|
8
7
|
ssl_certificate <%= certs_dir %>/<%= public_domain %>_ecc/fullchain.cer;
|
|
9
8
|
ssl_trusted_certificate <%= certs_dir %>/<%= public_domain %>_ecc/ca.cer;
|
|
9
|
+
ssl_certificate_key <%= certs_dir %>/<%= public_domain %>_ecc/<%= public_domain %>.key;
|
|
10
10
|
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
jicofo {
|
|
2
|
+
// Configuration related to jitsi-videobridge
|
|
3
|
+
bridge {
|
|
4
|
+
brewery-jid = "jvbbrewery@internal-muc.<%= jitsi_private_domain %>"
|
|
5
|
+
}
|
|
6
|
+
// Configure the codecs and RTP extensions to be used in the offer sent to clients.
|
|
7
|
+
codec {
|
|
8
|
+
video {
|
|
9
|
+
}
|
|
10
|
+
audio {
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
conference {
|
|
15
|
+
}
|
|
16
|
+
octo {
|
|
17
|
+
// Whether or not to use Octo. Note that when enabled, its use will be determined by
|
|
18
|
+
// $jicofo.bridge.selection-strategy. There's a corresponding flag in the JVB and these
|
|
19
|
+
// two MUST be in sync (otherwise bridges will crash because they won't know how to
|
|
20
|
+
// deal with octo channels).
|
|
21
|
+
enabled = false
|
|
22
|
+
}
|
|
23
|
+
sctp {
|
|
24
|
+
enabled = false
|
|
25
|
+
}
|
|
26
|
+
authentication: {
|
|
27
|
+
enabled: true
|
|
28
|
+
type: JWT
|
|
29
|
+
login-url: <%= jitsi_private_domain %>
|
|
30
|
+
}
|
|
31
|
+
xmpp {
|
|
32
|
+
client {
|
|
33
|
+
enabled = true
|
|
34
|
+
hostname = "xmpp.<%= jitsi_private_domain %>"
|
|
35
|
+
port = "5222"
|
|
36
|
+
domain = "auth.<%= jitsi_private_domain %>"
|
|
37
|
+
xmpp-domain = "<%= jitsi_private_domain %>"
|
|
38
|
+
username = "focus"
|
|
39
|
+
password = "<%= jicofo_password %>"
|
|
40
|
+
conference-muc-jid = "muc.<%= jitsi_private_domain %>"
|
|
41
|
+
client-proxy = "focus.<%= jitsi_private_domain %>"
|
|
42
|
+
disable-certificate-verification = true
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
jicofo {
|
|
2
2
|
// Configuration related to jitsi-videobridge
|
|
3
3
|
bridge {
|
|
4
|
-
brewery-jid = "jvbbrewery@internal-muc.<%=
|
|
4
|
+
brewery-jid = "jvbbrewery@internal-muc.<%= jitsi_public_domain %>"
|
|
5
5
|
}
|
|
6
6
|
// Configure the codecs and RTP extensions to be used in the offer sent to clients.
|
|
7
7
|
codec {
|
|
@@ -26,19 +26,19 @@ jicofo {
|
|
|
26
26
|
authentication: {
|
|
27
27
|
enabled: true
|
|
28
28
|
type: JWT
|
|
29
|
-
login-url: <%=
|
|
29
|
+
login-url: <%= jitsi_public_domain %>
|
|
30
30
|
}
|
|
31
31
|
xmpp {
|
|
32
32
|
client {
|
|
33
33
|
enabled = true
|
|
34
|
-
hostname = "xmpp.<%=
|
|
34
|
+
hostname = "xmpp.<%= jitsi_public_domain %>"
|
|
35
35
|
port = "5222"
|
|
36
|
-
domain = "auth.<%=
|
|
37
|
-
xmpp-domain = "<%=
|
|
36
|
+
domain = "auth.<%= jitsi_public_domain %>"
|
|
37
|
+
xmpp-domain = "<%= jitsi_public_domain %>"
|
|
38
38
|
username = "focus"
|
|
39
39
|
password = "<%= jicofo_password %>"
|
|
40
|
-
conference-muc-jid = "muc.<%=
|
|
41
|
-
client-proxy = "focus.<%=
|
|
40
|
+
conference-muc-jid = "muc.<%= jitsi_public_domain %>"
|
|
41
|
+
client-proxy = "focus.<%= jitsi_public_domain %>"
|
|
42
42
|
disable-certificate-verification = true
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
server_name _;
|
|
2
|
+
|
|
3
|
+
charset utf8;
|
|
4
|
+
|
|
5
|
+
client_max_body_size 0;
|
|
6
|
+
|
|
7
|
+
# Disable direct access to jitsi UI
|
|
8
|
+
# root <%= jitsi_root_dir %>;
|
|
9
|
+
root <%= static_dir %>;
|
|
10
|
+
|
|
11
|
+
# ssi on with javascript for multidomain variables in config.js
|
|
12
|
+
ssi on;
|
|
13
|
+
ssi_types application/x-javascript application/javascript;
|
|
14
|
+
|
|
15
|
+
index index.html index.htm;
|
|
16
|
+
error_page 404 /static/404.html;
|
|
17
|
+
|
|
18
|
+
# Security headers
|
|
19
|
+
add_header X-Content-Type-Options nosniff;
|
|
20
|
+
add_header X-XSS-Protection "1; mode=block";
|
|
21
|
+
|
|
22
|
+
set $prefix "";
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# Opt out of FLoC (deprecated)
|
|
26
|
+
add_header Permissions-Policy "interest-cohort=()";
|
|
27
|
+
|
|
28
|
+
location = /config.js {
|
|
29
|
+
alias /etc/jitsi/web/config.js;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
location = /interface_config.js {
|
|
33
|
+
alias /etc/jitsi/web/interface_config.js;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
location = /external_api.js {
|
|
37
|
+
alias <%= jitsi_root_dir %>/libs/external_api.min.js;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
# ensure all static content can always be found first
|
|
43
|
+
location ~ ^/(libs|css|static|images|fonts|lang|sounds|connection_optimization|.well-known)/(.*)$ {
|
|
44
|
+
add_header 'Access-Control-Allow-Origin' '*';
|
|
45
|
+
alias <%= jitsi_root_dir %>/$1/$2;
|
|
46
|
+
|
|
47
|
+
# cache all versioned files
|
|
48
|
+
if ($arg_v) {
|
|
49
|
+
expires 1y;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
# colibri (JVB) websockets
|
|
55
|
+
location ~ ^/colibri-ws/([a-zA-Z0-9-\._]+)/(.*) {
|
|
56
|
+
tcp_nodelay on;
|
|
57
|
+
proxy_http_version 1.1;
|
|
58
|
+
proxy_set_header Upgrade $http_upgrade;
|
|
59
|
+
proxy_set_header Connection $connection_upgrade;
|
|
60
|
+
proxy_pass http://$1:9090/colibri-ws/$1/$2$is_args$args;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
# BOSH
|
|
65
|
+
location = /http-bind {
|
|
66
|
+
proxy_set_header X-Forwarded-For $remote_addr;
|
|
67
|
+
proxy_set_header Host <%= jitsi_private_domain %>;
|
|
68
|
+
proxy_pass http://127.0.0.1:5280/http-bind?prefix=$prefix&$args;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
# xmpp websockets
|
|
73
|
+
location = /xmpp-websocket {
|
|
74
|
+
proxy_pass http://localhost:5280/xmpp-websocket;
|
|
75
|
+
proxy_http_version 1.1;
|
|
76
|
+
proxy_set_header Connection "upgrade";
|
|
77
|
+
proxy_set_header Upgrade $http_upgrade;
|
|
78
|
+
proxy_set_header Host <%= jitsi_private_domain %>;
|
|
79
|
+
proxy_set_header X-Forwarded-For $remote_addr;
|
|
80
|
+
tcp_nodelay on;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
location ~ ^/([^/?&:'"]+)$ {
|
|
85
|
+
try_files $uri @root_path;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
location @root_path {
|
|
89
|
+
rewrite ^/(.*)$ / break;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
# Matches /(TENANT)/pwa-worker.js or /(TENANT)/manifest.json to rewrite to / and look for file
|
|
94
|
+
location ~ ^/([^/?&:'"]+)/(pwa-worker.js|manifest.json)$ {
|
|
95
|
+
set $subdomain "$1.";
|
|
96
|
+
set $subdir "$1/";
|
|
97
|
+
rewrite ^/([^/?&:'"]+)/(pwa-worker.js|manifest.json)$ /$2;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
location ~ ^/([^/?&:'"]+)/config.js$ {
|
|
101
|
+
set $subdomain "$1.";
|
|
102
|
+
set $subdir "$1/";
|
|
103
|
+
|
|
104
|
+
alias /etc/jitsi/web/config.js;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
# BOSH for subdomains
|
|
108
|
+
location ~ ^/([^/?&:'"]+)/http-bind {
|
|
109
|
+
set $subdomain "$1.";
|
|
110
|
+
set $subdir "$1/";
|
|
111
|
+
set $prefix "$1";
|
|
112
|
+
|
|
113
|
+
rewrite ^/(.*)$ /http-bind;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
# websockets for subdomains
|
|
118
|
+
location ~ ^/([^/?&:'"]+)/xmpp-websocket {
|
|
119
|
+
set $subdomain "$1.";
|
|
120
|
+
set $subdir "$1/";
|
|
121
|
+
set $prefix "$1";
|
|
122
|
+
|
|
123
|
+
rewrite ^/(.*)$ /xmpp-websocket;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
# Anything that didn't match above, and isn't a real file, assume it's a room name and redirect to /
|
|
128
|
+
location ~ ^/([^/?&:'"]+)/(.*)$ {
|
|
129
|
+
set $subdomain "$1.";
|
|
130
|
+
set $subdir "$1/";
|
|
131
|
+
rewrite ^/([^/?&:'"]+)/(.*)$ /$2;
|
|
132
|
+
}
|
|
@@ -5,7 +5,7 @@ charset utf8;
|
|
|
5
5
|
client_max_body_size 0;
|
|
6
6
|
|
|
7
7
|
# Disable direct access to jitsi UI
|
|
8
|
-
# root
|
|
8
|
+
# root <%= jitsi_root_dir %>;
|
|
9
9
|
root <%= static_dir %>;
|
|
10
10
|
|
|
11
11
|
# ssi on with javascript for multidomain variables in config.js
|
|
@@ -34,7 +34,7 @@ location = /interface_config.js {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
location = /external_api.js {
|
|
37
|
-
alias
|
|
37
|
+
alias <%= jitsi_root_dir %>/libs/external_api.min.js;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
|
|
@@ -42,7 +42,7 @@ location = /external_api.js {
|
|
|
42
42
|
# ensure all static content can always be found first
|
|
43
43
|
location ~ ^/(libs|css|static|images|fonts|lang|sounds|connection_optimization|.well-known)/(.*)$ {
|
|
44
44
|
add_header 'Access-Control-Allow-Origin' '*';
|
|
45
|
-
alias
|
|
45
|
+
alias <%= jitsi_root_dir %>/$1/$2;
|
|
46
46
|
|
|
47
47
|
# cache all versioned files
|
|
48
48
|
if ($arg_v) {
|
|
@@ -64,7 +64,7 @@ location ~ ^/colibri-ws/([a-zA-Z0-9-\._]+)/(.*) {
|
|
|
64
64
|
# BOSH
|
|
65
65
|
location = /http-bind {
|
|
66
66
|
proxy_set_header X-Forwarded-For $remote_addr;
|
|
67
|
-
proxy_set_header Host <%=
|
|
67
|
+
proxy_set_header Host <%= jitsi_public_domain %>;
|
|
68
68
|
proxy_pass http://127.0.0.1:5280/http-bind?prefix=$prefix&$args;
|
|
69
69
|
}
|
|
70
70
|
|
|
@@ -75,7 +75,7 @@ location = /xmpp-websocket {
|
|
|
75
75
|
proxy_http_version 1.1;
|
|
76
76
|
proxy_set_header Connection "upgrade";
|
|
77
77
|
proxy_set_header Upgrade $http_upgrade;
|
|
78
|
-
proxy_set_header Host <%=
|
|
78
|
+
proxy_set_header Host <%= jitsi_public_domain %>;
|
|
79
79
|
proxy_set_header X-Forwarded-For $remote_addr;
|
|
80
80
|
tcp_nodelay on;
|
|
81
81
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# session settings
|
|
2
|
+
ssl_session_timeout 1d;
|
|
3
|
+
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
|
|
4
|
+
ssl_session_tickets off;
|
|
5
|
+
|
|
6
|
+
# ssl certs
|
|
7
|
+
|
|
8
|
+
ssl_certificate <%= certs_dir %>/<%= jitsi_private_domain %>_ecc/<%= jitsi_private_domain %>.cer;
|
|
9
|
+
ssl_trusted_certificate <%= certs_dir %>/<%= jitsi_private_domain %>_ecc/<%= jitsi_private_domain %>.cer;
|
|
10
|
+
ssl_certificate_key <%= certs_dir %>/<%= jitsi_private_domain %>_ecc/<%= jitsi_private_domain %>.key;
|
|
11
|
+
|
|
12
|
+
# protocols
|
|
13
|
+
# Mozilla Guideline v5.6, nginx 1.14.2, OpenSSL 1.1.1d, intermediate configuration, no OCSP
|
|
14
|
+
# https://ssl-config.mozilla.org/#server=nginx&version=1.14.2&config=intermediate&openssl=1.1.1d&ocsp=false&guideline=5.6
|
|
15
|
+
ssl_protocols TLSv1.2 TLSv1.3;
|
|
16
|
+
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
|
|
17
|
+
ssl_prefer_server_ciphers off;
|
|
18
|
+
|
|
19
|
+
# Diffie-Hellman parameter for DHE cipher suites
|
|
20
|
+
ssl_dhparam /etc/jitsi/web/defaults/ffdhe2048.txt;
|
|
21
|
+
|
|
22
|
+
# HSTS (ngx_http_headers_module is required) (63072000 seconds)
|
|
23
|
+
|
|
24
|
+
add_header Strict-Transport-Security "max-age=63072000" always;
|
|
25
|
+
|
|
@@ -5,9 +5,9 @@ ssl_session_tickets off;
|
|
|
5
5
|
|
|
6
6
|
# ssl certs
|
|
7
7
|
|
|
8
|
-
ssl_certificate <%= certs_dir %>/<%=
|
|
9
|
-
ssl_certificate_key <%= certs_dir %>/<%=
|
|
10
|
-
ssl_trusted_certificate <%= certs_dir %>/<%=
|
|
8
|
+
ssl_certificate <%= certs_dir %>/<%= jitsi_public_domain %>_ecc/fullchain.cer;
|
|
9
|
+
ssl_certificate_key <%= certs_dir %>/<%= jitsi_public_domain %>_ecc/<%= jitsi_public_domain %>.key;
|
|
10
|
+
ssl_trusted_certificate <%= certs_dir %>/<%= jitsi_public_domain %>_ecc/ca.cer;
|
|
11
11
|
|
|
12
12
|
# protocols
|
|
13
13
|
# Mozilla Guideline v5.6, nginx 1.14.2, OpenSSL 1.1.1d, intermediate configuration, no OCSP
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
{{ $JVB_XMPP_PORT := .Env.JVB_XMPP_PORT | default "6222" -}}
|
|
16
16
|
{{ $JVB_XMPP_SERVER := .Env.JVB_XMPP_SERVER | default "xmpp.jvb.meet.jitsi" -}}
|
|
17
17
|
{{ $JVB_XMPP_SERVERS := splitList "," $JVB_XMPP_SERVER -}}
|
|
18
|
-
{{ $PUBLIC_URL_DOMAIN := .Env.PUBLIC_URL | default "https://localhost
|
|
18
|
+
{{ $PUBLIC_URL_DOMAIN := .Env.PUBLIC_URL | default "https://localhost:<%= local_port %>" | trimPrefix "https://" | trimSuffix "/" -}}
|
|
19
19
|
{{ $SHUTDOWN_REST_ENABLED := .Env.SHUTDOWN_REST_ENABLED | default "false" | toBool -}}
|
|
20
20
|
{{ $WS_DOMAIN := .Env.JVB_WS_DOMAIN | default $PUBLIC_URL_DOMAIN -}}
|
|
21
21
|
{{ $WS_SERVER_ID := .Env.JVB_WS_SERVER_ID | default .Env.JVB_WS_SERVER_ID_FALLBACK -}}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
videobridge {
|
|
2
|
+
ice {
|
|
3
|
+
udp {
|
|
4
|
+
port = 10000
|
|
5
|
+
}
|
|
6
|
+
advertise-private-candidates = true
|
|
7
|
+
}
|
|
8
|
+
apis {
|
|
9
|
+
xmpp-client {
|
|
10
|
+
configs {
|
|
11
|
+
shard0 {
|
|
12
|
+
HOSTNAME = "xmpp.<%= jitsi_private_domain %>"
|
|
13
|
+
PORT = "5222"
|
|
14
|
+
DOMAIN = "auth.<%= jitsi_private_domain %>"
|
|
15
|
+
USERNAME = "jvb"
|
|
16
|
+
PASSWORD = "<%= jvb_password %>"
|
|
17
|
+
MUC_JIDS = "jvbbrewery@internal-muc.<%= jitsi_private_domain %>"
|
|
18
|
+
MUC_NICKNAME = "shard0"
|
|
19
|
+
DISABLE_CERTIFICATE_VERIFICATION = true
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
rest {
|
|
24
|
+
enabled = false
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
rest {
|
|
28
|
+
shutdown {
|
|
29
|
+
enabled = false
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
stats {
|
|
33
|
+
enabled = true
|
|
34
|
+
}
|
|
35
|
+
websockets {
|
|
36
|
+
enabled = true
|
|
37
|
+
domain = "<%= jitsi_private_domain %>"
|
|
38
|
+
tls = true
|
|
39
|
+
server-id = "<%= private_ip4 %>"
|
|
40
|
+
}
|
|
41
|
+
http-servers {
|
|
42
|
+
private {
|
|
43
|
+
host = 0.0.0.0
|
|
44
|
+
}
|
|
45
|
+
public {
|
|
46
|
+
host = 0.0.0.0
|
|
47
|
+
port = 9090
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
ice4j {
|
|
53
|
+
harvest {
|
|
54
|
+
mapping {
|
|
55
|
+
stun {
|
|
56
|
+
addresses = [ "meet-jit-si-turnrelay.jitsi.net:443" ]
|
|
57
|
+
}
|
|
58
|
+
static-mappings = [
|
|
59
|
+
{
|
|
60
|
+
local-address = "<%= private_ip4 %>"
|
|
61
|
+
public-address = ""
|
|
62
|
+
name = "ip-0"
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -9,12 +9,12 @@ videobridge {
|
|
|
9
9
|
xmpp-client {
|
|
10
10
|
configs {
|
|
11
11
|
shard0 {
|
|
12
|
-
HOSTNAME = "xmpp.<%=
|
|
12
|
+
HOSTNAME = "xmpp.<%= jitsi_public_domain %>"
|
|
13
13
|
PORT = "5222"
|
|
14
|
-
DOMAIN = "auth.<%=
|
|
14
|
+
DOMAIN = "auth.<%= jitsi_public_domain %>"
|
|
15
15
|
USERNAME = "jvb"
|
|
16
16
|
PASSWORD = "<%= jvb_password %>"
|
|
17
|
-
MUC_JIDS = "jvbbrewery@internal-muc.<%=
|
|
17
|
+
MUC_JIDS = "jvbbrewery@internal-muc.<%= jitsi_public_domain %>"
|
|
18
18
|
MUC_NICKNAME = "shard0"
|
|
19
19
|
DISABLE_CERTIFICATE_VERIFICATION = true
|
|
20
20
|
}
|
|
@@ -34,9 +34,9 @@ videobridge {
|
|
|
34
34
|
}
|
|
35
35
|
websockets {
|
|
36
36
|
enabled = true
|
|
37
|
-
domain = "<%=
|
|
37
|
+
domain = "<%= jitsi_public_domain %>"
|
|
38
38
|
tls = true
|
|
39
|
-
server-id = "<%=
|
|
39
|
+
server-id = "<%= private_ip4 %>"
|
|
40
40
|
}
|
|
41
41
|
http-servers {
|
|
42
42
|
private {
|
|
@@ -57,7 +57,7 @@ ice4j {
|
|
|
57
57
|
}
|
|
58
58
|
static-mappings = [
|
|
59
59
|
{
|
|
60
|
-
local-address = "<%=
|
|
60
|
+
local-address = "<%= private_ip4 %>"
|
|
61
61
|
public-address = ""
|
|
62
62
|
name = "ip-0"
|
|
63
63
|
}
|