aboutsummaryrefslogtreecommitdiff
path: root/services/templates/nginx/conf.d
diff options
context:
space:
mode:
Diffstat (limited to 'services/templates/nginx/conf.d')
-rw-r--r--services/templates/nginx/conf.d/code.conf.template6
-rw-r--r--services/templates/nginx/conf.d/forbid_unknown_domain.conf9
-rw-r--r--services/templates/nginx/conf.d/mail.conf.template25
-rw-r--r--services/templates/nginx/conf.d/root.conf.template36
-rw-r--r--services/templates/nginx/conf.d/ssl.conf.template17
-rw-r--r--services/templates/nginx/conf.d/timeline.conf.template6
-rw-r--r--services/templates/nginx/conf.d/websocket.conf4
7 files changed, 103 insertions, 0 deletions
diff --git a/services/templates/nginx/conf.d/code.conf.template b/services/templates/nginx/conf.d/code.conf.template
new file mode 100644
index 0000000..35f74d8
--- /dev/null
+++ b/services/templates/nginx/conf.d/code.conf.template
@@ -0,0 +1,6 @@
+server {
+ server_name code.@@CRUPEST_DOMAIN@@;
+ include common/http-listen;
+
+ include common/acme-challenge;
+}
diff --git a/services/templates/nginx/conf.d/forbid_unknown_domain.conf b/services/templates/nginx/conf.d/forbid_unknown_domain.conf
new file mode 100644
index 0000000..515942b
--- /dev/null
+++ b/services/templates/nginx/conf.d/forbid_unknown_domain.conf
@@ -0,0 +1,9 @@
+server {
+ listen 80 default_server;
+ listen [::]:80 default_server;
+ listen 443 ssl default_server;
+ listen [::]:443 ssl default_server;
+ http2 on;
+
+ return 444;
+}
diff --git a/services/templates/nginx/conf.d/mail.conf.template b/services/templates/nginx/conf.d/mail.conf.template
new file mode 100644
index 0000000..2eb53d7
--- /dev/null
+++ b/services/templates/nginx/conf.d/mail.conf.template
@@ -0,0 +1,25 @@
+server {
+ server_name mail.@@CRUPEST_DOMAIN@@;
+ include common/https-listen;
+
+ location / {
+ include common/proxy-common;
+ proxy_pass http://roundcubemail:80/;
+ }
+
+ location /rspamd/ {
+ include common/proxy-common;
+ proxy_pass http://mailserver:11334/;
+ }
+
+ client_max_body_size 5G;
+}
+
+
+server {
+ server_name mail.@@CRUPEST_DOMAIN@@;
+ include common/http-listen;
+
+ include common/https-redirect;
+ include common/acme-challenge;
+}
diff --git a/services/templates/nginx/conf.d/root.conf.template b/services/templates/nginx/conf.d/root.conf.template
new file mode 100644
index 0000000..8cd9174
--- /dev/null
+++ b/services/templates/nginx/conf.d/root.conf.template
@@ -0,0 +1,36 @@
+server {
+ server_name @@CRUPEST_DOMAIN@@;
+ include common/https-listen;
+
+ location / {
+ root /srv/www;
+ }
+
+ location /2fa/ {
+ include common/proxy-common;
+ proxy_pass http://2fauth:8000/;
+ }
+
+ location /git/ {
+ include common/proxy-common;
+ proxy_pass http://git-server:80;
+ }
+
+ location /_@@CRUPEST_V2RAY_PATH@@ {
+ if ($http_upgrade != "websocket") {
+ return 404;
+ }
+
+ proxy_redirect off;
+ include common/proxy-common;
+ proxy_pass http://v2ray:10000;
+ }
+}
+
+server {
+ server_name @@CRUPEST_DOMAIN@@;
+ include common/http-listen;
+
+ include common/https-redirect;
+ include common/acme-challenge;
+}
diff --git a/services/templates/nginx/conf.d/ssl.conf.template b/services/templates/nginx/conf.d/ssl.conf.template
new file mode 100644
index 0000000..181a1af
--- /dev/null
+++ b/services/templates/nginx/conf.d/ssl.conf.template
@@ -0,0 +1,17 @@
+# This file contains important security parameters. If you modify this file
+# manually, Certbot will be unable to automatically provide future security
+# updates. Instead, Certbot will print and log an error message with a path to
+# the up-to-date file that you will need to refer to when manually updating
+# this file. Contents are based on https://ssl-config.mozilla.org
+
+ssl_certificate /etc/letsencrypt/live/@@CRUPEST_DOMAIN@@/fullchain.pem;
+ssl_certificate_key /etc/letsencrypt/live/@@CRUPEST_DOMAIN@@/privkey.pem;
+
+ssl_session_cache shared:le_nginx_SSL:10m;
+ssl_session_timeout 1440m;
+ssl_session_tickets off;
+
+ssl_protocols TLSv1.2 TLSv1.3;
+ssl_prefer_server_ciphers off;
+
+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";
diff --git a/services/templates/nginx/conf.d/timeline.conf.template b/services/templates/nginx/conf.d/timeline.conf.template
new file mode 100644
index 0000000..df4edf8
--- /dev/null
+++ b/services/templates/nginx/conf.d/timeline.conf.template
@@ -0,0 +1,6 @@
+server {
+ server_name timeline.@@CRUPEST_DOMAIN@@;
+ include common/http-listen;
+
+ include common/acme-challenge;
+}
diff --git a/services/templates/nginx/conf.d/websocket.conf b/services/templates/nginx/conf.d/websocket.conf
new file mode 100644
index 0000000..32af4c3
--- /dev/null
+++ b/services/templates/nginx/conf.d/websocket.conf
@@ -0,0 +1,4 @@
+map $http_upgrade $connection_upgrade {
+ default upgrade;
+ '' close;
+}