@drumee/setup-infra 1.0.28 → 1.0.29

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 (33) hide show
  1. package/bin/init-private +40 -0
  2. package/bin/set-jitsi-conf +14 -0
  3. package/index.js +2 -1
  4. package/package.json +1 -1
  5. package/template.js +453 -0
  6. package/templates/etc/bind/named.conf.private +21 -0
  7. package/templates/etc/bind/named.conf.public +21 -0
  8. package/templates/etc/drumee/conf.d/conference.json.tpl +9 -0
  9. package/templates/etc/drumee/dnsapi.sh.tpl +28 -0
  10. package/templates/etc/drumee/env.json +29 -0
  11. package/templates/etc/drumee/infrastructure/internals/accel.conf.tpl +47 -0
  12. package/templates/etc/drumee/infrastructure/mfs.conf.tpl +16 -0
  13. package/templates/etc/drumee/infrastructure/platform.json.tpl +16 -0
  14. package/templates/etc/drumee/infrastructure/routes/main.conf.tpl +153 -0
  15. package/templates/etc/drumee/infrastructure/routes/private.conf.tpl +1 -1
  16. package/templates/etc/drumee/infrastructure/routes/public.conf.tpl +1 -1
  17. package/templates/etc/jitsi/jicofo/jicofo.conf.tpl +46 -0
  18. package/templates/etc/jitsi/jicofo/sip-cmmunicator.properties +3 -0
  19. package/templates/etc/jitsi/meet.conf.tpl +132 -0
  20. package/templates/etc/jitsi/ssl.conf.tpl +25 -0
  21. package/templates/etc/jitsi/videobridge/jvb.conf +67 -0
  22. package/templates/etc/jitsi/web/config.js.tpl +208 -0
  23. package/templates/etc/nginx/modules-enabled/90-turn-relay.conf +27 -0
  24. package/templates/etc/nginx/modules-enabled/90-turn-relay.conf.tpl +27 -0
  25. package/templates/etc/nginx/sites-enabled/jitsi.conf.tpl +28 -0
  26. package/templates/etc/nginx/sites-enabled/localhost.conf +31 -0
  27. package/templates/etc/nginx/sites-enabled/pivate.jitsi.conf.tpl +28 -0
  28. package/templates/etc/nginx/sites-enabled/private.conf.tpl +40 -0
  29. package/templates/etc/nginx/sites-enabled/public.conf.tpl +40 -0
  30. package/templates/etc/nginx/sites-enabled/public.jitsi.conf.tpl +28 -0
  31. package/templates/etc/prosody/conf.d/vhost.cfg.lua.tpl +162 -0
  32. package/templates/etc/turnserver.conf.tpl +46 -0
  33. package/templates/var/lib/bind/prvate.tpl +70 -0
@@ -0,0 +1,27 @@
1
+ stream {
2
+ map $ssl_preread_server_name $name {
3
+ <%= jitsi_domain %> web_backend;
4
+ turn-jitsi.<%= jitsi_domain %> turn_backend;
5
+ }
6
+
7
+ upstream web_backend {
8
+ server 127.0.0.1:4444;
9
+ }
10
+
11
+ upstream turn_backend {
12
+ server <%= public_ip4 %>:5349;
13
+ }
14
+
15
+ server {
16
+ listen 443;
17
+ listen [::]:443;
18
+
19
+ # since 1.11.5
20
+ ssl_preread on;
21
+
22
+ proxy_pass $name;
23
+
24
+ # Increase buffer to serve video
25
+ proxy_buffer_size 10m;
26
+ }
27
+ }
@@ -0,0 +1,27 @@
1
+ stream {
2
+ map $ssl_preread_server_name $name {
3
+ turn.<%= jitsi_domain %> web_backend;
4
+ turn-jitsi.<%= jitsi_domain %> turn_backend;
5
+ }
6
+
7
+ upstream web_backend {
8
+ server 127.0.0.1:3478;
9
+ }
10
+
11
+ upstream turn_backend {
12
+ server <%= public_ip4 %>:5349;
13
+ }
14
+
15
+ server {
16
+ listen 443 udp;
17
+ listen [::]:443 udp;
18
+
19
+ # since 1.11.5
20
+ ssl_preread on;
21
+
22
+ proxy_pass $name;
23
+
24
+ # Increase buffer to serve video
25
+ proxy_buffer_size 10m;
26
+ }
27
+ }
@@ -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 http2;
23
+ listen [::]:<%= https_port %> ssl http2;
24
+ server_name <%= jitsi_domain %>;
25
+ include /etc/jitsi/ssl.conf;
26
+ include /etc/jitsi/meet.conf;
27
+ }
28
+
@@ -0,0 +1,31 @@
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 : localhost
7
+ # Date : <%= date %>
8
+ # -------------------------------------------------------------
9
+
10
+ proxy_cache_path <%= drumee_root %>/cache/localhost levels=1:2 keys_zone=localhost_keys_zone:10m max_size=10g inactive=60m;
11
+ server {
12
+ listen <%= http_port %>;
13
+ listen [::]:<%= http_port %>;
14
+ server_name localhost;
15
+ #
16
+ root <%= drumee_root %>/runtime/server;
17
+ client_max_body_size 10G;
18
+
19
+ # Security headers
20
+ add_header X-Content-Type-Options nosniff;
21
+ add_header X-XSS-Protection "1; mode=block";
22
+
23
+ set $prefix "";
24
+
25
+ include /etc/drumee/infrastructure/routes/*.conf;
26
+ include /etc/drumee/infrastructure/internals/accel.conf;
27
+ include /etc/drumee/infrastructure/mfs.conf;
28
+ }
29
+
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
+
@@ -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 : <%= public_domain %>
7
+ # Date : <%= date %>
8
+ # -------------------------------------------------------------
9
+
10
+
11
+ proxy_cache_path <%= cache_dir %>/<%= public_domain %> levels=1:2 keys_zone=<%= public_domain %>_keys_zone:10m max_size=10g inactive=60m;
12
+ server {
13
+ listen <%= http_port %>;
14
+ listen [::]:<%= http_port %>;
15
+ server_name <%= public_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 <%= public_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/main.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
+
@@ -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
+
@@ -0,0 +1,162 @@
1
+ admins = {
2
+ "jigasi@auth.<%= jitsi_domain %>",
3
+ "jibri@auth.<%= jitsi_domain %>",
4
+ "focus@auth.<%= jitsi_domain %>",
5
+ "jvb@auth.<%= jitsi_domain %>"
6
+ }
7
+
8
+ unlimited_jids = {
9
+ "focus@auth.<%= jitsi_domain %>",
10
+ "jvb@auth.<%= jitsi_domain %>"
11
+ }
12
+
13
+ plugin_paths = { "/usr/share/jitsi-meet/prosody-plugins/", "/prosody-plugins-custom" }
14
+
15
+ muc_mapper_domain_base = "<%= jitsi_domain %>";
16
+ muc_mapper_domain_prefix = "muc";
17
+ http_default_host = "<%= jitsi_domain %>"
18
+ consider_bosh_secure = true;
19
+ consider_websocket_secure = true;
20
+
21
+ VirtualHost "<%= jitsi_domain %>"
22
+ authentication = "internal_hashed"
23
+ ssl = {
24
+ key = "<%= certs_dir %>/<%= jitsi_domain %>_ecc/<%= jitsi_domain %>.key";
25
+ certificate = "<%= certs_dir %>/<%= jitsi_domain %>_ecc/<%= jitsi_domain %>.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.<%= jitsi_domain %>"
43
+ lobby_muc = "lobby.<%= jitsi_domain %>"
44
+ breakout_rooms_muc = "breakout.<%= jitsi_domain %>"
45
+ speakerstats_component = "speakerstats.<%= jitsi_domain %>"
46
+ conference_duration_component = "conferenceduration.<%= jitsi_domain %>"
47
+ end_conference_component = "endconference.<%= jitsi_domain %>"
48
+ av_moderation_component = "avmoderation.<%= jitsi_domain %>"
49
+ turncredentials_secret = "<%= turn_sercret %>"
50
+ c2s_require_encryption = false
51
+
52
+
53
+ VirtualHost "guest.<%= jitsi_domain %>"
54
+ authentication = "anonymous"
55
+ ssl = {
56
+ key = "/usr/share/acme/certs/<%= jitsi_domain %>_ecc/<%= jitsi_domain %>.key";
57
+ certificate = "/usr/share/acme/certs/<%= jitsi_domain %>_ecc/<%= jitsi_domain %>.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.<%= jitsi_domain %>"
75
+ lobby_muc = "lobby.<%= jitsi_domain %>"
76
+ breakout_rooms_muc = "breakout.<%= jitsi_domain %>"
77
+ speakerstats_component = "speakerstats.<%= jitsi_domain %>"
78
+ conference_duration_component = "conferenceduration.<%= jitsi_domain %>"
79
+ end_conference_component = "endconference.<%= jitsi_domain %>"
80
+ av_moderation_component = "avmoderation.<%= jitsi_domain %>"
81
+ turncredentials_secret = "<%= turn_sercret %>"
82
+ c2s_require_encryption = false
83
+
84
+
85
+ VirtualHost "auth.<%= jitsi_domain %>"
86
+ ssl = {
87
+ key = "<%= certs_dir %>/<%= jitsi_domain %>_ecc/<%= jitsi_domain %>.key";
88
+ certificate = "<%= certs_dir %>/<%= jitsi_domain %>_ecc/fullchain.cer";
89
+ }
90
+ modules_enabled = {
91
+ "limits_exception";
92
+ }
93
+ authentication = "internal_hashed"
94
+
95
+
96
+
97
+ Component "internal-muc.<%= jitsi_domain %>" "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.<%= jitsi_domain %>" "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.<%= jitsi_domain %>" "client_proxy"
126
+ target_address = "focus@auth.<%= jitsi_domain %>"
127
+
128
+ Component "speakerstats.<%= jitsi_domain %>" "speakerstats_component"
129
+ muc_component = "muc.<%= jitsi_domain %>"
130
+
131
+ Component "conferenceduration.<%= jitsi_domain %>" "conference_duration_component"
132
+ muc_component = "muc.<%= jitsi_domain %>"
133
+
134
+
135
+ Component "endconference.<%= jitsi_domain %>" "end_conference"
136
+ muc_component = "muc.<%= jitsi_domain %>"
137
+
138
+
139
+ Component "lobby.<%= jitsi_domain %>" "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.<%= jitsi_domain %>" "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.<%= jitsi_domain %>" "room_metadata_component"
161
+ muc_component = "muc.<%= jitsi_domain %>"
162
+ breakout_rooms_component = "breakout.<%= jitsi_domain %>"
@@ -0,0 +1,46 @@
1
+ # jitsi-meet coturn config. Do not modify this line
2
+ use-auth-secret
3
+ keep-address-family
4
+ static-auth-secret=<%= turn_sercret %>
5
+ realm=<%= jitsi_domain %>
6
+ cert=<%= acme_dir %>/certs/<%= jitsi_domain %>_ecc/<%= jitsi_domain %>.cer
7
+ pkey=<%= acme_dir %>/certs/<%= jitsi_domain %>_ecc/<%= jitsi_domain %>.key
8
+ external-ip=<%= public_ip4 %> / <%= public_ip6 %>
9
+ no-multicast-peers
10
+ no-cli
11
+ #no-loopback-peers
12
+ #no-tcp-relay
13
+ no-tcp
14
+ listening-port=3478
15
+ tls-listening-port=5349
16
+ no-tlsv1
17
+ no-tlsv1_1
18
+ # https://ssl-config.mozilla.org/#server=haproxy&version=2.1&config=intermediate&openssl=1.1.0g&guideline=5.4
19
+ cipher-list=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
20
+ # without it there are errors when running on Ubuntu 20.04
21
+ dh2066
22
+ # jitsi-meet coturn relay disable config. Do not modify this line
23
+ denied-peer-ip=0.0.0.0-0.255.255.255
24
+ denied-peer-ip=10.0.0.0-10.255.255.255
25
+ denied-peer-ip=100.64.0.0-100.127.255.255
26
+ denied-peer-ip=127.0.0.0-127.255.255.255
27
+ denied-peer-ip=169.254.0.0-169.254.255.255
28
+ denied-peer-ip=127.0.0.0-127.255.255.255
29
+ denied-peer-ip=172.16.0.0-172.31.255.255
30
+ denied-peer-ip=192.0.0.0-192.0.0.255
31
+ denied-peer-ip=192.0.2.0-192.0.2.255
32
+ denied-peer-ip=192.88.99.0-192.88.99.255
33
+ denied-peer-ip=192.168.0.0-192.168.255.255
34
+ denied-peer-ip=198.18.0.0-198.19.255.255
35
+ denied-peer-ip=198.51.100.0-198.51.100.255
36
+ denied-peer-ip=203.0.113.0-203.0.113.255
37
+ denied-peer-ip=240.0.0.0-255.255.255.255
38
+ denied-peer-ip=::1
39
+ denied-peer-ip=64:ff9b::-64:ff9b::ffff:ffff
40
+ denied-peer-ip=::ffff:0.0.0.0-::ffff:255.255.255.255
41
+ denied-peer-ip=100::-100::ffff:ffff:ffff:ffff
42
+ denied-peer-ip=2001::-2001:1ff:ffff:ffff:ffff:ffff:ffff:ffff
43
+ denied-peer-ip=2002::-2002:ffff:ffff:ffff:ffff:ffff:ffff:ffff
44
+ denied-peer-ip=fc00::-fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
45
+ denied-peer-ip=fe80::-febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff
46
+ syslog
@@ -0,0 +1,70 @@
1
+ $TTL 3D
2
+ $ORIGIN <%= private_domain %>.
3
+ ;
4
+ @ IN SOA ns1.<%= private_domain %>. master.<%= private_domain %>. (
5
+ <%= serial %> ; serial, today date + today serial
6
+ 1H ; refresh, seconds
7
+ 2H ; retry, seconds
8
+ 4W ; expire, seconds
9
+ 1D ) ; minimum, seconds
10
+ ;
11
+ ;
12
+ @ 60 IN NS ns1.<%= private_domain %>.
13
+ @ 60 IN NS ns2.<%= private_domain %>.
14
+ ;
15
+ <% if (typeof(private_ip4) !== "undefined" && private_ip4 != "" ) { %>
16
+ ; A records
17
+ @ 60 IN A <%= private_ip4 %>
18
+ ns1 60 IN A <%= private_ip4 %>
19
+ ns2 60 IN A <%= private_ip4 %>
20
+ smtp 60 IN A <%= private_ip4 %>
21
+ jit 60 IN A <%= private_ip4 %>
22
+ * 60 IN A <%= private_ip4 %>
23
+ ;
24
+ <% } %>
25
+ <% if (typeof(private_ip6) !== "undefined" && private_ip6 != "" ) { %>
26
+ ; AAAA records
27
+ @ 60 IN AAAA <%= private_ip6 %>
28
+ ns1 60 IN AAAA <%= private_ip6 %>
29
+ ns2 60 IN AAAA <%= private_ip6 %>
30
+ smtp 60 IN AAAA <%= private_ip6 %>
31
+ jit 60 IN AAAA <%= private_ip6 %>
32
+ * 60 IN AAAA <%= private_ip6 %>
33
+ <% } %>
34
+ ;
35
+ ; CNAME
36
+ ;
37
+ www IN CNAME <%= private_domain %>.
38
+ ;
39
+ ; MX records
40
+ ;
41
+ @ 60 IN MX 10 smtp.<%= private_domain %>.
42
+
43
+ ; TXT records
44
+ _acme-challenge 60 IN TXT "acme-challenge"
45
+ @ 60 IN TXT "v=spf1 a ~all"
46
+ @ 60 IN TXT (<%= dkim_key %>)
47
+ ;
48
+ ;
49
+ ; DKIM
50
+ smtp._domainkey 60 IN TXT (<%= dkim_key %>)
51
+ dkim._domainkey 60 IN TXT (<%= dkim_key %>)
52
+ ;
53
+ ;
54
+ ; DMARC
55
+ _dmarc 60 IN TXT "v=DMARC1; p=quarantine; sp=quarantine; aspf=s"
56
+ ;
57
+ ;
58
+ ; Jitsi subdomain
59
+ $ORIGIN <%= jitsi_domain %>.
60
+ ;
61
+ <% if (typeof(private_ip4) !== "undefined" && private_ip4 != "" ) { %>
62
+ * 60 IN A <%= private_ip4 %>
63
+ <% } %>
64
+ <% if (typeof(private_ip6) !== "undefined" && private_ip6 != "" ) { %>
65
+ * 60 IN AAAA <%= private_ip6 %>
66
+ <% } %>
67
+ ;
68
+ ; TXT records
69
+ _acme-challenge 60 IN TXT "jit-acme-challenge"
70
+