@drumee/setup-infra 1.0.12 → 1.0.14

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.
Files changed (34) hide show
  1. package/bin/init-acme +13 -5
  2. package/bin/init-private +40 -0
  3. package/bin/prosody +1 -1
  4. package/index.js +295 -162
  5. package/package.json +3 -4
  6. package/templates/etc/bind/named.conf.options +1 -1
  7. package/templates/etc/bind/named.conf.private +21 -0
  8. package/templates/etc/bind/{named.conf.local → named.conf.public} +2 -2
  9. package/templates/etc/dkimkeys/dkim.key +1 -1
  10. package/templates/etc/drumee/conf.d/myDrumee.json.tpl +1 -1
  11. package/templates/etc/drumee/dnsapi.sh.tpl +1 -1
  12. package/templates/etc/drumee/drumee.sh.tpl +24 -17
  13. package/templates/etc/drumee/env.json +1 -1
  14. package/templates/etc/drumee/infrastructure/routes/main.conf.tpl +23 -13
  15. package/templates/etc/drumee/ssl/{main.conf.tpl → private.conf.tpl} +2 -4
  16. package/templates/etc/drumee/ssl/public.conf.tpl +10 -0
  17. package/templates/etc/mysql/mariadb.conf.d/50-client.cnf +21 -0
  18. package/templates/etc/mysql/mariadb.conf.d/50-server.cnf +2 -1
  19. package/templates/etc/nginx/nginx.conf +1 -1
  20. package/templates/etc/nginx/sites-enabled/jitsi.conf.tpl +4 -4
  21. package/templates/etc/nginx/sites-enabled/{loopback.tpl → localhost.conf} +9 -10
  22. package/templates/etc/nginx/sites-enabled/pivate.jitsi.conf.tpl +28 -0
  23. package/templates/etc/nginx/sites-enabled/private.conf.tpl +40 -0
  24. package/templates/etc/nginx/sites-enabled/{drumee.conf.tpl → public.conf.tpl} +8 -8
  25. package/templates/etc/nginx/sites-enabled/public.jitsi.conf.tpl +28 -0
  26. package/templates/etc/postfix/main.cf +1 -1
  27. package/templates/etc/prosody/conf.d/private.cfg.lua.tpl +162 -0
  28. package/templates/etc/prosody/conf.d/public.cfg.lua.tpl +162 -0
  29. package/templates/index.js +19 -13
  30. package/templates/utils.js +192 -0
  31. package/templates/var/lib/bind/private-reverse.tpl +17 -0
  32. package/templates/var/lib/bind/prvate.tpl +70 -0
  33. /package/templates/var/lib/bind/{revserse.tpl → public-reverse.tpl} +0 -0
  34. /package/templates/var/lib/bind/{domain.tpl → public.tpl} +0 -0
@@ -0,0 +1,21 @@
1
+ //
2
+ // Configs setup by Drumee setup-infra utility
3
+ //
4
+
5
+ include "/etc/bind/named.conf.log";
6
+ include "<%= nsupdate_key %>";
7
+ zone "<%= private_domain %>" {
8
+ type master;
9
+ file "/var/lib/bind/<%= private_domain %>";
10
+ allow-query { any; };
11
+ allow-update { key "update"; };
12
+ allow-transfer { <%= private_ip4 %>; };
13
+ };
14
+
15
+ <% if (typeof(private_reverse_ip4) !== "undefined" && private_reverse_ip4 != "" ) { %>
16
+ zone "<%= private_reverse_ip4 %>" {
17
+ type master;
18
+ file "/var/lib/bind/<%= private_ip4 %>";
19
+ allow-query { any; };
20
+ };
21
+ <% } %>
@@ -4,9 +4,9 @@
4
4
 
5
5
  include "/etc/bind/named.conf.log";
6
6
  include "<%= nsupdate_key %>";
7
- zone "<%= domain %>" {
7
+ zone "<%= public_domain %>" {
8
8
  type master;
9
- file "/var/lib/bind/<%= domain %>";
9
+ file "/var/lib/bind/<%= public_domain %>";
10
10
  allow-query { any; };
11
11
  allow-update { key "update"; };
12
12
  allow-transfer { <%= public_ip4 %>; };
@@ -1 +1 @@
1
- *@<%= domain %>:<%= domain %>:/etc/opendkim/keys/<%= domain %>/private.pem
1
+ *@<%= public_domain %>:<%= public_domain %>:/etc/opendkim/keys/<%= public_domain %>/private.pem
@@ -9,7 +9,7 @@
9
9
  "zh"
10
10
  ],
11
11
  "verbosity": 2,
12
- "useEmail":1,
12
+ "useEmail":<%= use_email %>,
13
13
  "quota": {
14
14
  "watermark": "<%= quota_watermark %>"
15
15
  }
@@ -4,7 +4,7 @@
4
4
  # Date : <%= date %>
5
5
  # -------------------------------------------------------------
6
6
 
7
- export ACME_CERTS_DIR=<%= certs_dir %>
7
+ export CERTS_DIR=<%= certs_dir %>
8
8
  export ACME_DIR=<%= acme_dir %>
9
9
  export ACME_DNS=<%= acme_dns %>
10
10
  export ACME_EMAIL_ACCOUNT=<%= acme_email_account %>
@@ -4,37 +4,44 @@
4
4
  # Date : <%= date %>
5
5
  # -------------------------------------------------------------
6
6
 
7
+ export CERTS_DIR=<%= certs_dir %>
8
+
9
+ <% if (typeof(public_domain) !== "undefined" && public_domain != "" ) { %>
7
10
  export ACME_CA_SERVER=<%= ca_server %>
8
- export ACME_CERTS_DIR=<%= certs_dir %>
9
11
  export ACME_DIR=<%= acme_dir %>
10
12
  export ACME_EMAIL_ACCOUNT=<%= acme_email_account %>
11
- export ACME_STORE=<%= certs_dir %>/<%= domain_name %>_ecc
13
+ export ACME_STORE=<%= certs_dir %>/<%= public_domain %>_ecc
14
+ export NSUPDATE_SERVER=ns1.<%= public_domain %>
15
+ export NSUPDATE_ZONE=<%= public_domain %>
16
+ export DRUMEE_PUBLIC_DOMAIN=<%= public_domain %>
17
+ <% } %>
18
+
19
+ <% if (typeof(jitsi_domain) !== "undefined" && jitsi_domain != "" ) { %>
20
+ export JITSI_DOMAIN=<%= jitsi_domain %>
21
+ <% } %>
22
+
12
23
  export APP_ROUTING_MARK=<%= public_ui_root %>
13
24
  export CREDENTIAL_DIR=/etc/drumee/credential
14
25
  export NSUPDATE_KEY=<%= nsupdate_key %>
15
- export NSUPDATE_SERVER=ns1.<%= domain_name %>
16
- export NSUPDATE_ZONE=<%= domain_name %>
17
26
  export DRUMEE_DB_DIR=<%= db_dir %>
18
27
  export DRUMEE_CACHE_DIR=<%= cache_dir %>
19
28
  export DRUMEE_DATA_DIR=<%= data_dir %>
20
- export DRUMEE_DOMAIN_NAME=<%= domain_name %>
29
+ export DRUMEE_TMP_DIR=$DRUMEE_DATA_DIR/tmp
30
+ export DRUMEE_MFS_DIR=$DRUMEE_DATA_DIR/mfs
21
31
  export DRUMEE_EXPORT_DIR=<%= export_dir %>
22
32
  export DRUMEE_IMPORT_DIR=<%= import_dir %>
23
33
  export DRUMEE_LOG_DIR=<%= log_dir %>
24
- export DRUMEE_MFS_DIR=<%= data_dir %>/mfs
25
- export DRUMEE_ROOT='/srv/drumee'
26
- export DRUMEE_RUNTIME_DIR=<%= runtime_dir %>
27
- export DRUMEE_SCHEMAS_DIR=<%= runtime_dir %>/server/schemas
28
- export DRUMEE_SERVER_HOME=<%= server_dir %>
29
- export DRUMEE_SERVER_NODE=<%= runtime_dir %>/dist/main/node_modules
30
- export DRUMEE_STATIC_DIR=<%= static_dir %>
34
+ export DRUMEE_ROOT=<%= drumee_root %>
35
+ export DRUMEE_RUNTIME_DIR=$DRUMEE_ROOT/runtime
36
+ export DRUMEE_STATIC_DIR=$DRUMEE_ROOT/static
37
+ export DRUMEE_UI_HOME=$DRUMEE_RUNTIME_DIR/ui
38
+ export DRUMEE_SERVER_HOME=$DRUMEE_RUNTIME_DIR/server
39
+ export DRUMEE_SCHEMAS_DIR=$DRUMEE_SERVER_HOME/schemas
40
+ export DRUMEE_SERVER_NODE=$DRUMEE_SERVER_HOME/node_modules
31
41
  export DRUMEE_SYSTEM_GROUP=<%= system_group %>
32
42
  export DRUMEE_SYSTEM_USER=<%= system_user %>
33
- export DRUMEE_TMP_DIR=<%= data_dir %>/tmp
34
- export DRUMEE_UI_HOME=<%= runtime_dir %>/ui
35
- export DRUMEE_STORAGE_BACKUP=<%= storage_backup %>
36
- export DRUMEE_DB_BACKUP=<%= storage_backup %>/db
37
- export JITSI_DOMAIN=<%= jitsi_domain %>
43
+ export DRUMEE_BACKUP_STORAGE=<%= backup_storage %>
44
+ export DRUMEE_DB_BACKUP=<%= backup_storage %>/db
38
45
  export OWN_CERTS_DIR=<%= own_certs_dir %>
39
46
  export PUBLIC_UI_ROOT=<%= public_ui_root %>
40
47
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "ACME_CA_SERVER":"<%= ca_server %>",
3
- "ACME_CERTS_DIR":"<%= certs_dir %>",
3
+ "CERTS_DIR":"<%= certs_dir %>",
4
4
  "ACME_DIR":"<%= acme_dir %>",
5
5
  "ACME_DNS":"<%= acme_dns %>",
6
6
  "ACME_EMAIL_ACCOUNT":"<%= acme_email_account %>",
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
  location <%= location %>app/ {
9
- alias /srv/drumee/runtime/ui/dist/<%= endpoint %>/app/;
9
+ alias <%= drumee_root %>/runtime/ui/<%= endpoint_name %>/app/;
10
10
  add_header Cache-Control max-age=31536000;
11
11
  add_header Access-Control-Allow-Origin <%= domain %>;
12
12
  fastcgi_hide_header Set-Cookie;
@@ -15,7 +15,7 @@ location <%= location %>app/ {
15
15
 
16
16
  # Frontend application assets
17
17
  location <%= location %>api/ {
18
- alias /srv/drumee/runtime/ui/dist/<%= endpoint %>/api/;
18
+ alias <%= drumee_root %>/runtime/ui/<%= endpoint_name %>/api/;
19
19
  add_header Cache-Control max-age=31536000;
20
20
  add_header Access-Control-Allow-Origin <%= domain %>;
21
21
  fastcgi_hide_header Set-Cookie;
@@ -23,8 +23,9 @@ location <%= location %>api/ {
23
23
  }
24
24
 
25
25
  # Frontend application assets
26
- location <%= location %>plugins/ {
27
- alias /srv/drumee/runtime/ui/dist/<%= endpoint %>/plugins/;
26
+ location
27
+ plugins/ {
28
+ alias <%= drumee_root %>/runtime/ui/<%= endpoint_name %>/plugins/;
28
29
  add_header Cache-Control max-age=31536000;
29
30
  add_header Access-Control-Allow-Origin <%= domain %>;
30
31
  fastcgi_hide_header Set-Cookie;
@@ -34,7 +35,7 @@ location <%= location %>plugins/ {
34
35
 
35
36
  # Frontend application templates
36
37
  location <%= location %>bb-templates/ {
37
- alias /srv/drumee/runtime/ui/dist/<%= endpoint %>/bb-templates/;
38
+ alias <%= drumee_root %>/runtime/ui/<%= endpoint_name %>/bb-templates/;
38
39
  add_header Cache-Control max-age=31536000;
39
40
  add_header Access-Control-Allow-Origin *;
40
41
  fastcgi_hide_header Set-Cookie;
@@ -52,9 +53,12 @@ location <%= location %> {
52
53
  proxy_set_header Upgrade $http_upgrade;
53
54
  proxy_set_header Connection 'upgrade';
54
55
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
55
- proxy_set_header X-Real-IP $remote_addr;
56
+ proxy_set_header X-Real-IP $remote_addr;
56
57
  proxy_set_header X-Connecting-IP $remote_addr;
57
- proxy_set_header Host $host;
58
+ proxy_set_header X-Forwarded-Proto $scheme;
59
+ proxy_set_header Host $host;
60
+ proxy_set_header X-Forwarded-Port $server_port; # The port Nginx is listening on
61
+ proxy_set_header X-Original-Port $http_host;
58
62
  add_header Vary "Accept-Encoding";
59
63
  fastcgi_hide_header Set-Cookie;
60
64
  break;
@@ -66,9 +70,12 @@ location <%= location %> {
66
70
  proxy_set_header Upgrade $http_upgrade;
67
71
  proxy_set_header Connection 'upgrade';
68
72
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
69
- proxy_set_header X-Real-IP $remote_addr;
73
+ proxy_set_header X-Real-IP $remote_addr;
70
74
  proxy_set_header X-Connecting-IP $remote_addr;
71
- proxy_set_header Host $host;
75
+ proxy_set_header X-Forwarded-Proto $scheme;
76
+ proxy_set_header Host $host;
77
+ proxy_set_header X-Forwarded-Port $server_port; # The port Nginx is listening on
78
+ proxy_set_header X-Original-Port $http_host;
72
79
  add_header Vary "Accept-Encoding";
73
80
  fastcgi_hide_header Set-Cookie;
74
81
  break;
@@ -119,7 +126,7 @@ location <%= location %> {
119
126
  fastcgi_hide_header Set-Cookie;
120
127
  add_header Cache-Control max-age=31536000;
121
128
  add_header Access-Control-Allow-Origin <%= domain %>;
122
- rewrite /somanos/(.+)$ /-/svc/media.raw&p=$1&d=inline;
129
+ rewrite /<%= endpoint_name %>/(.+)$ /-/svc/media.raw&p=$1&d=inline;
123
130
  break;
124
131
  }
125
132
 
@@ -131,10 +138,13 @@ location <%= location %> {
131
138
  proxy_set_header Upgrade $http_upgrade;
132
139
  proxy_set_header Connection 'upgrade';
133
140
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
134
- proxy_set_header X-Real-IP $remote_addr;
141
+ proxy_set_header X-Real-IP $remote_addr;
135
142
  proxy_set_header X-Connecting-IP $remote_addr;
136
- proxy_set_header Host $host;
137
- proxy_set_header Referer $http_referer;
143
+ proxy_set_header Host $host;
144
+ proxy_set_header X-Forwarded-Port $server_port; # The port Nginx is listening on
145
+ proxy_set_header X-Original-Port $http_host;
146
+ proxy_set_header Referer $http_referer;
147
+ proxy_set_header X-Forwarded-Proto $scheme;
138
148
  add_header Access-Control-Allow-Credentials true;
139
149
  add_header Vary "Accept-Encoding";
140
150
  fastcgi_hide_header Set-Cookie;
@@ -4,7 +4,5 @@
4
4
  # Date : <%= date %>
5
5
  # -------------------------------------------------------------
6
6
 
7
- ssl_certificate_key <%= certs_dir %>/<%= domain %>_ecc/<%= domain %>.key;
8
- ssl_certificate <%= certs_dir %>/<%= domain %>_ecc/fullchain.cer;
9
- ssl_trusted_certificate <%= certs_dir %>/<%= domain %>_ecc/ca.cer;
10
-
7
+ ssl_certificate_key <%= certs_dir %>/<%= private_domain %>_ecc/<%= private_domain %>.key;
8
+ ssl_trusted_certificate <%= certs_dir %>/<%= private_domain %>_ecc/<%= private_domain %>.cer;
@@ -0,0 +1,10 @@
1
+ # -------------------------------------------------------------
2
+ # ! DO NOT EDIT !
3
+ # Config file automatically generated by <setup-infra>
4
+ # Date : <%= date %>
5
+ # -------------------------------------------------------------
6
+
7
+ ssl_certificate_key <%= certs_dir %>/<%= public_domain %>_ecc/<%= public_domain %>.key;
8
+ ssl_certificate <%= certs_dir %>/<%= public_domain %>_ecc/fullchain.cer;
9
+ ssl_trusted_certificate <%= certs_dir %>/<%= public_domain %>_ecc/ca.cer;
10
+
@@ -0,0 +1,21 @@
1
+ #
2
+ # This group is read by the client library
3
+ # Use it for options that affect all clients, but not the server
4
+ #
5
+
6
+ [client]
7
+ # Example of client certificate usage
8
+ #ssl-cert = /etc/mysql/client-cert.pem
9
+ #ssl-key = /etc/mysql/client-key.pem
10
+ #
11
+ # Allow only TLS encrypted connections
12
+ #ssl-verify-server-cert = on
13
+ default-character-set = utf8mb4
14
+
15
+ # This group is *never* read by mysql client library, though this
16
+ # /etc/mysql/mariadb.cnf.d/client.cnf file is not read by Oracle MySQL
17
+ # client anyway.
18
+ # If you use the same .cnf file for MySQL and MariaDB,
19
+ # use it for MariaDB-only client options
20
+ [client-mariadb]
21
+ default-character-set = utf8mb4
@@ -59,7 +59,7 @@ bind-address = 127.0.0.1
59
59
  # and when running legacy init error logging goes to syslog due to
60
60
  # /etc/mysql/conf.d/mariadb.conf.d/50-mysqld_safe.cnf
61
61
  # Enable this if you want to have error logging into a separate file
62
- #log_error = /var/log/mysql/error.log
62
+ log_error = /var/log/mysql/error.log
63
63
  # Enable the slow query log to see queries with especially long duration
64
64
  #log_slow_query_file = /var/log/mysql/mariadb-slow.log
65
65
  #log_slow_query_time = 10
@@ -92,6 +92,7 @@ expire_logs_days = 10
92
92
 
93
93
  # MySQL/MariaDB default is Latin1, but in Debian we rather default to the full
94
94
  # utf8 4-byte character set. See also client.cnf
95
+ character-set-client-handshake = FALSE
95
96
  character-set-server = utf8mb4
96
97
  collation-server = utf8mb4_general_ci
97
98
 
@@ -27,7 +27,7 @@ http {
27
27
 
28
28
  client_max_body_size 0;
29
29
 
30
- resolver <%= local_address %>;
30
+ resolver <%= private_ip4 %>;
31
31
  include /etc/nginx/mime.types;
32
32
  default_type application/octet-stream;
33
33
 
@@ -12,15 +12,15 @@ map $http_upgrade $connection_upgrade {
12
12
  }
13
13
 
14
14
  server {
15
- listen 80 default_server;
16
- listen [::]:80 default_server;
15
+ listen <%= http_port %> default_server;
16
+ listen [::]:<%= http_port %> default_server;
17
17
  server_name *.<%= jitsi_domain %>;
18
18
  include /etc/jitsi/meet.conf;
19
19
  }
20
20
 
21
21
  server {
22
- listen 443 ssl http2;
23
- listen [::]:443 ssl http2;
22
+ listen <%= https_port %> ssl http2;
23
+ listen [::]:<%= https_port %> ssl http2;
24
24
  server_name <%= jitsi_domain %>;
25
25
  include /etc/jitsi/ssl.conf;
26
26
  include /etc/jitsi/meet.conf;
@@ -3,19 +3,18 @@
3
3
  # !!!!!!! DO NOT EDIT !!!!!!!!
4
4
  # Config file automatically generated by <setup-infra>
5
5
  # Purpose : Provide Nginx config to a specific server
6
- # Server name : loopback
6
+ # Server name : localhost
7
7
  # Date : <%= date %>
8
8
  # -------------------------------------------------------------
9
9
 
10
-
11
- proxy_cache_path <%= cache_dir %>/loopback levels=1:2 keys_zone=loopback_keys_zone:10m max_size=10g inactive=60m;
10
+ proxy_cache_path <%= drumee_root %>/cache/localhost levels=1:2 keys_zone=localhost_keys_zone:10m max_size=10g inactive=60m;
12
11
  server {
13
- listen 127.0.0.1:80;
14
- server_name _;
12
+ listen <%= http_port %>;
13
+ listen [::]:<%= http_port %>;
14
+ server_name localhost;
15
15
  #
16
- root <%= server_dir %>;
17
- server_name _;
18
- client_max_body_size <%= max_body_size %>;
16
+ root <%= drumee_root %>/runtime/server;
17
+ client_max_body_size 10G;
19
18
 
20
19
  # Security headers
21
20
  add_header X-Content-Type-Options nosniff;
@@ -23,10 +22,10 @@ server {
23
22
 
24
23
  set $prefix "";
25
24
 
26
- include /etc/drumee/ssl/main.conf;
27
25
  include /etc/drumee/infrastructure/routes/*.conf;
28
- include /etc/drumee/infrastructure/internals/*.conf;
26
+ include /etc/drumee/infrastructure/internals/accel.conf;
29
27
  include /etc/drumee/infrastructure/mfs.conf;
30
28
  }
31
29
 
32
30
 
31
+
@@ -0,0 +1,28 @@
1
+ # -------------------------------------------------------------
2
+ # !!!!!!! DO NOT EDIT !!!!!!!!
3
+ # Config file automatically generated by <setup-infra>
4
+ # Purpose : Provide Nginx config to a specific server
5
+ # Server name : <%= domain %>
6
+ # Date : <%= date %>
7
+ # -------------------------------------------------------------
8
+
9
+ map $http_upgrade $connection_upgrade {
10
+ default upgrade;
11
+ '' close;
12
+ }
13
+
14
+ server {
15
+ listen <%= http_port %> default_server;
16
+ listen [::]:<%= http_port %> default_server;
17
+ server_name *.<%= jitsi_domain %>;
18
+ include /etc/jitsi/meet.conf;
19
+ }
20
+
21
+ server {
22
+ listen <%= https_port %> ssl;
23
+ listen [::]:<%= https_port %> ssl;
24
+ server_name <%= jitsi_domain %>;
25
+ include /etc/jitsi/ssl.conf;
26
+ include /etc/jitsi/meet.conf;
27
+ }
28
+
@@ -0,0 +1,40 @@
1
+
2
+ # -------------------------------------------------------------
3
+ # !!!!!!! DO NOT EDIT !!!!!!!!
4
+ # Config file automatically generated by <setup-infra>
5
+ # Purpose : Provide Nginx config to a specific server
6
+ # Server name : <%= private_domain %>
7
+ # Date : <%= date %>
8
+ # -------------------------------------------------------------
9
+
10
+
11
+ proxy_cache_path <%= cache_dir %>/<%= private_domain %> levels=1:2 keys_zone=<%= private_domain %>_keys_zone:10m max_size=10g inactive=60m;
12
+ server {
13
+ listen <%= http_port %>;
14
+ listen [::]:<%= http_port %>;
15
+ server_name <%= private_domain %>;
16
+ location / {
17
+ return 301 https://$host$request_uri;
18
+ }
19
+ }
20
+ server {
21
+ listen <%= https_port %> ssl;
22
+ listen [::]:<%= https_port %> ssl;
23
+ #
24
+ root <%= server_dir %>;
25
+ server_name <%= private_domain %>;
26
+ client_max_body_size <%= max_body_size %>;
27
+
28
+ # Security headers
29
+ add_header X-Content-Type-Options nosniff;
30
+ add_header X-XSS-Protection "1; mode=block";
31
+
32
+ set $prefix "";
33
+
34
+ include /etc/drumee/ssl/private.conf;
35
+ include /etc/drumee/infrastructure/routes/*.conf;
36
+ include /etc/drumee/infrastructure/internals/*.conf;
37
+ include /etc/drumee/infrastructure/mfs.conf;
38
+ }
39
+
40
+
@@ -3,26 +3,26 @@
3
3
  # !!!!!!! DO NOT EDIT !!!!!!!!
4
4
  # Config file automatically generated by <setup-infra>
5
5
  # Purpose : Provide Nginx config to a specific server
6
- # Server name : <%= domain %>
6
+ # Server name : <%= public_domain %>
7
7
  # Date : <%= date %>
8
8
  # -------------------------------------------------------------
9
9
 
10
10
 
11
- proxy_cache_path <%= cache_dir %>/<%= domain %> levels=1:2 keys_zone=<%= domain %>_keys_zone:10m max_size=10g inactive=60m;
11
+ proxy_cache_path <%= cache_dir %>/<%= public_domain %> levels=1:2 keys_zone=<%= public_domain %>_keys_zone:10m max_size=10g inactive=60m;
12
12
  server {
13
- listen 80;
14
- listen [::]:80;
15
- server_name <%= domain %>;
13
+ listen <%= http_port %>;
14
+ listen [::]:<%= http_port %>;
15
+ server_name <%= public_domain %>;
16
16
  location / {
17
17
  return 301 https://$host$request_uri;
18
18
  }
19
19
  }
20
20
  server {
21
- listen 443 ssl;
22
- listen [::]:443 ssl;
21
+ listen <%= https_port %> ssl;
22
+ listen [::]:<%= https_port %> ssl;
23
23
  #
24
24
  root <%= server_dir %>;
25
- server_name <%= domain %>;
25
+ server_name <%= public_domain %>;
26
26
  client_max_body_size <%= max_body_size %>;
27
27
 
28
28
  # Security headers
@@ -0,0 +1,28 @@
1
+ # -------------------------------------------------------------
2
+ # !!!!!!! DO NOT EDIT !!!!!!!!
3
+ # Config file automatically generated by <setup-infra>
4
+ # Purpose : Provide Nginx config to a specific server
5
+ # Server name : <%= domain %>
6
+ # Date : <%= date %>
7
+ # -------------------------------------------------------------
8
+
9
+ map $http_upgrade $connection_upgrade {
10
+ default upgrade;
11
+ '' close;
12
+ }
13
+
14
+ server {
15
+ listen <%= http_port %> default_server;
16
+ listen [::]:<%= http_port %> default_server;
17
+ server_name *.<%= jitsi_public %>;
18
+ include /etc/jitsi/meet.conf;
19
+ }
20
+
21
+ server {
22
+ listen <%= https_port %> ssl http2;
23
+ listen [::]:<%= https_port %> ssl http2;
24
+ server_name <%= jitsi_public %>;
25
+ include /etc/jitsi/ssl.conf;
26
+ include /etc/jitsi/meet.conf;
27
+ }
28
+
@@ -59,7 +59,7 @@ inet_interfaces = all
59
59
  inet_protocols = ipv4
60
60
  #inet_protocols = ipv4, ipv6
61
61
  virtual_transport = lmtp:unix:private/dovecot-lmtp
62
- virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
62
+ #virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
63
63
  virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
64
64
  virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
65
65
  local_recipient_maps =
@@ -0,0 +1,162 @@
1
+ admins = {
2
+ "jigasi@auth.<%= prvate_jitsi %>",
3
+ "jibri@auth.<%= prvate_jitsi %>",
4
+ "focus@auth.<%= prvate_jitsi %>",
5
+ "jvb@auth.<%= prvate_jitsi %>"
6
+ }
7
+
8
+ unlimited_jids = {
9
+ "focus@auth.<%= prvate_jitsi %>",
10
+ "jvb@auth.<%= prvate_jitsi %>"
11
+ }
12
+
13
+ plugin_paths = { "/usr/share/jitsi-meet/prosody-plugins/", "/prosody-plugins-custom" }
14
+
15
+ muc_mapper_domain_base = "<%= prvate_jitsi %>";
16
+ muc_mapper_domain_prefix = "muc";
17
+ http_default_host = "<%= prvate_jitsi %>"
18
+ consider_bosh_secure = true;
19
+ consider_websocket_secure = true;
20
+
21
+ VirtualHost "<%= prvate_jitsi %>"
22
+ authentication = "internal_hashed"
23
+ ssl = {
24
+ key = "<%= certs_dir %>/<%= prvate_jitsi %>_ecc/<%= prvate_jitsi %>.key";
25
+ certificate = "<%= certs_dir %>/<%= prvate_jitsi %>_ecc/<%= prvate_jitsi %>.cer";
26
+ }
27
+ modules_enabled = {
28
+ "bosh";
29
+ "websocket";
30
+ "smacks"; -- XEP-0198: Stream Management
31
+ "pubsub";
32
+ "ping";
33
+ "speakerstats";
34
+ "conference_duration";
35
+ "room_metadata";
36
+ "end_conference";
37
+ "muc_lobby_rooms";
38
+ "muc_breakout_rooms";
39
+ "av_moderation";
40
+ "turncredentials";
41
+ }
42
+ main_muc = "muc.<%= prvate_jitsi %>"
43
+ lobby_muc = "lobby.<%= prvate_jitsi %>"
44
+ breakout_rooms_muc = "breakout.<%= prvate_jitsi %>"
45
+ speakerstats_component = "speakerstats.<%= prvate_jitsi %>"
46
+ conference_duration_component = "conferenceduration.<%= prvate_jitsi %>"
47
+ end_conference_component = "endconference.<%= prvate_jitsi %>"
48
+ av_moderation_component = "avmoderation.<%= prvate_jitsi %>"
49
+ turncredentials_secret = "<%= turn_sercret %>"
50
+ c2s_require_encryption = false
51
+
52
+
53
+ VirtualHost "guest.<%= prvate_jitsi %>"
54
+ authentication = "anonymous"
55
+ ssl = {
56
+ key = "/usr/share/acme/certs/<%= prvate_jitsi %>_ecc/<%= prvate_jitsi %>.key";
57
+ certificate = "/usr/share/acme/certs/<%= prvate_jitsi %>_ecc/<%= prvate_jitsi %>.cer";
58
+ }
59
+ modules_enabled = {
60
+ "bosh";
61
+ "websocket";
62
+ "smacks"; -- XEP-0198: Stream Management
63
+ "pubsub";
64
+ "ping";
65
+ "speakerstats";
66
+ "conference_duration";
67
+ "room_metadata";
68
+ "end_conference";
69
+ "muc_lobby_rooms";
70
+ "muc_breakout_rooms";
71
+ "av_moderation";
72
+ "turncredentials";
73
+ }
74
+ main_muc = "muc.<%= prvate_jitsi %>"
75
+ lobby_muc = "lobby.<%= prvate_jitsi %>"
76
+ breakout_rooms_muc = "breakout.<%= prvate_jitsi %>"
77
+ speakerstats_component = "speakerstats.<%= prvate_jitsi %>"
78
+ conference_duration_component = "conferenceduration.<%= prvate_jitsi %>"
79
+ end_conference_component = "endconference.<%= prvate_jitsi %>"
80
+ av_moderation_component = "avmoderation.<%= prvate_jitsi %>"
81
+ turncredentials_secret = "<%= turn_sercret %>"
82
+ c2s_require_encryption = false
83
+
84
+
85
+ VirtualHost "auth.<%= prvate_jitsi %>"
86
+ ssl = {
87
+ key = "<%= certs_dir %>/<%= prvate_jitsi %>_ecc/<%= prvate_jitsi %>.key";
88
+ certificate = "<%= certs_dir %>/<%= prvate_jitsi %>_ecc/fullchain.cer";
89
+ }
90
+ modules_enabled = {
91
+ "limits_exception";
92
+ }
93
+ authentication = "internal_hashed"
94
+
95
+
96
+
97
+ Component "internal-muc.<%= prvate_jitsi %>" "muc"
98
+ storage = "memory"
99
+ modules_enabled = {
100
+ "ping";
101
+ }
102
+ restrict_room_creation = true
103
+ muc_room_locking = false
104
+ muc_room_default_public_jids = true
105
+
106
+ Component "muc.<%= prvate_jitsi %>" "muc"
107
+ restrict_room_creation = true
108
+ storage = "memory"
109
+ modules_enabled = {
110
+ "muc_meeting_id";
111
+ "polls";
112
+ "muc_domain_mapper";
113
+ "muc_password_whitelist";
114
+ }
115
+
116
+ -- The size of the cache that saves state for IP addresses
117
+ rate_limit_cache_size = 10000;
118
+ muc_room_cache_size = 1000
119
+ muc_room_locking = false
120
+ muc_room_default_public_jids = true
121
+ muc_password_whitelist = {
122
+ "focus@<no value>"
123
+ }
124
+
125
+ Component "focus.<%= prvate_jitsi %>" "client_proxy"
126
+ target_address = "focus@auth.<%= prvate_jitsi %>"
127
+
128
+ Component "speakerstats.<%= prvate_jitsi %>" "speakerstats_component"
129
+ muc_component = "muc.<%= prvate_jitsi %>"
130
+
131
+ Component "conferenceduration.<%= prvate_jitsi %>" "conference_duration_component"
132
+ muc_component = "muc.<%= prvate_jitsi %>"
133
+
134
+
135
+ Component "endconference.<%= prvate_jitsi %>" "end_conference"
136
+ muc_component = "muc.<%= prvate_jitsi %>"
137
+
138
+
139
+ Component "lobby.<%= prvate_jitsi %>" "muc"
140
+ storage = "memory"
141
+ restrict_room_creation = true
142
+ muc_room_locking = false
143
+ muc_room_default_public_jids = true
144
+ modules_enabled = {
145
+ }
146
+
147
+
148
+ Component "breakout.<%= prvate_jitsi %>" "muc"
149
+ storage = "memory"
150
+ restrict_room_creation = true
151
+ muc_room_locking = false
152
+ muc_room_default_public_jids = true
153
+ modules_enabled = {
154
+ "muc_meeting_id";
155
+ "muc_domain_mapper";
156
+ "polls";
157
+ }
158
+
159
+
160
+ Component "metadata.<%= prvate_jitsi %>" "room_metadata_component"
161
+ muc_component = "muc.<%= prvate_jitsi %>"
162
+ breakout_rooms_component = "breakout.<%= prvate_jitsi %>"