Compare commits
12
Commits
4e17dfc9c9
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5d53aed6c0 | ||
|
|
82ff78cae0 | ||
|
|
70ef71eefd | ||
|
|
cf4c6983e2 | ||
|
|
c323507de4 | ||
|
|
ac9e744692 | ||
|
|
a7a1051ea1 | ||
|
|
1be33450f0 | ||
|
|
b01d4e8f1e | ||
|
|
fc14ba0e87 | ||
|
|
c9cce852bf | ||
|
|
7cc6b34d31 |
No files matched your search
@@ -0,0 +1 @@
|
|||||||
|
* text=auto eol=lf
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
map_hash_bucket_size 128;
|
map_hash_bucket_size 128;
|
||||||
|
|
||||||
|
# Normalize the Connection header for WebSocket upgrades.
|
||||||
map $http_upgrade $connection_upgrade {
|
map $http_upgrade $connection_upgrade {
|
||||||
default upgrade;
|
default upgrade;
|
||||||
'' close;
|
'' close;
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
server {
|
|
||||||
listen 80 default_server;
|
|
||||||
listen [::]:80 default_server;
|
|
||||||
server_name _;
|
|
||||||
|
|
||||||
return 404;
|
|
||||||
}
|
|
||||||
|
|
||||||
server {
|
|
||||||
listen 443 ssl default_server;
|
|
||||||
listen [::]:443 ssl default_server;
|
|
||||||
include snippets/https.conf;
|
|
||||||
|
|
||||||
server_name _;
|
|
||||||
|
|
||||||
return 404;
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# Docker's embedded DNS is available before the other stacks start.
|
||||||
|
# Resolve container names at runtime so a missing backend cannot stop Nginx.
|
||||||
|
# Requires Nginx >= 1.27.3 (open-source upstream resolve support).
|
||||||
|
resolver 127.0.0.11 valid=10s;
|
||||||
|
resolver_timeout 5s;
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
http2 on;
|
||||||
|
ssl_protocols TLSv1.2 TLSv1.3;
|
||||||
|
ssl_session_cache shared:SSL:10m;
|
||||||
|
ssl_session_timeout 10m;
|
||||||
|
ssl_session_tickets off;
|
||||||
|
|
||||||
|
# OCSP stapling requires certificates with an OCSP responder URL.
|
||||||
|
# Uncomment when the origin certificate supports it.
|
||||||
|
# ssl_stapling on;
|
||||||
|
# ssl_stapling_verify on;
|
||||||
|
# resolver 1.1.1.1 8.8.8.8 valid=300s;
|
||||||
|
# resolver_timeout 5s;
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 80 default_server;
|
||||||
|
listen [::]:80 default_server;
|
||||||
|
server_name _;
|
||||||
|
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl default_server;
|
||||||
|
listen [::]:443 ssl default_server;
|
||||||
|
|
||||||
|
ssl_reject_handshake on;
|
||||||
|
}
|
||||||
@@ -1,5 +1,9 @@
|
|||||||
|
upstream adguardhome_backend {
|
||||||
|
zone adguardhome_backend 64k;
|
||||||
|
server adguardhome:80 resolve;
|
||||||
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 443 ssl;
|
|
||||||
include snippets/https.conf;
|
include snippets/https.conf;
|
||||||
|
|
||||||
server_name adguard.${BASE_DOMAIN};
|
server_name adguard.${BASE_DOMAIN};
|
||||||
@@ -7,6 +11,6 @@ server {
|
|||||||
include snippets/proxy.conf;
|
include snippets/proxy.conf;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://adguardhome;
|
proxy_pass http://adguardhome_backend;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,9 @@
|
|||||||
|
upstream backrest_backend {
|
||||||
|
zone backrest_backend 64k;
|
||||||
|
server backrest:9898 resolve;
|
||||||
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 443 ssl;
|
|
||||||
include snippets/https.conf;
|
include snippets/https.conf;
|
||||||
|
|
||||||
server_name backrest.${BASE_DOMAIN};
|
server_name backrest.${BASE_DOMAIN};
|
||||||
@@ -7,6 +11,6 @@ server {
|
|||||||
include snippets/proxy.conf;
|
include snippets/proxy.conf;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://backrest:9898;
|
proxy_pass http://backrest_backend;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
|
upstream gitea_backend {
|
||||||
|
zone gitea_backend 64k;
|
||||||
|
server gitea:3000 resolve;
|
||||||
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 443 ssl;
|
|
||||||
listen [::]:443 ssl;
|
|
||||||
include snippets/https.conf;
|
include snippets/https.conf;
|
||||||
|
|
||||||
server_name gitea.${BASE_DOMAIN};
|
server_name gitea.${BASE_DOMAIN};
|
||||||
@@ -8,7 +11,7 @@ server {
|
|||||||
include snippets/proxy.conf;
|
include snippets/proxy.conf;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://gitea:3000;
|
proxy_pass http://gitea_backend;
|
||||||
client_max_body_size 512M;
|
client_max_body_size 512M;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,4 @@
|
|||||||
server {
|
server {
|
||||||
listen 443 ssl;
|
|
||||||
listen [::]:443 ssl;
|
|
||||||
include snippets/https.conf;
|
include snippets/https.conf;
|
||||||
|
|
||||||
server_name ha.${BASE_DOMAIN};
|
server_name ha.${BASE_DOMAIN};
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
upstream homepage_backend {
|
||||||
|
zone homepage_backend 64k;
|
||||||
|
server homepage:3000 resolve;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
include snippets/https.conf;
|
||||||
|
|
||||||
|
server_name home.${BASE_DOMAIN};
|
||||||
|
|
||||||
|
include snippets/proxy.conf;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://homepage_backend;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
|
upstream immich_backend {
|
||||||
|
zone immich_backend 64k;
|
||||||
|
server immich-server:2283 resolve;
|
||||||
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 443 ssl;
|
|
||||||
listen [::]:443 ssl;
|
|
||||||
include snippets/https.conf;
|
include snippets/https.conf;
|
||||||
|
|
||||||
server_name immich.${BASE_DOMAIN};
|
server_name immich.${BASE_DOMAIN};
|
||||||
@@ -22,7 +25,7 @@ server {
|
|||||||
send_timeout 600s;
|
send_timeout 600s;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://immich-server:2283;
|
proxy_pass http://immich_backend;
|
||||||
proxy_redirect off;
|
proxy_redirect off;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
upstream miyouqian_backend {
|
||||||
|
zone miyouqian_backend 64k;
|
||||||
|
server miyouqian:5890 resolve;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
include snippets/https.conf;
|
||||||
|
|
||||||
|
server_name miyouqian.${BASE_DOMAIN};
|
||||||
|
|
||||||
|
include snippets/proxy.conf;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://miyouqian_backend;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
|
upstream openlist_backend {
|
||||||
|
zone openlist_backend 64k;
|
||||||
|
server openlist:5244 resolve;
|
||||||
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 443 ssl;
|
|
||||||
listen [::]:443 ssl;
|
|
||||||
include snippets/https.conf;
|
include snippets/https.conf;
|
||||||
|
|
||||||
server_name openlist.${BASE_DOMAIN};
|
server_name openlist.${BASE_DOMAIN};
|
||||||
@@ -8,7 +11,7 @@ server {
|
|||||||
include snippets/proxy.conf;
|
include snippets/proxy.conf;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://openlist:5244;
|
proxy_pass http://openlist_backend;
|
||||||
proxy_redirect off;
|
proxy_redirect off;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,9 @@
|
|||||||
|
upstream qbittorrent_backend {
|
||||||
|
zone qbittorrent_backend 64k;
|
||||||
|
server qbittorrent:8080 resolve;
|
||||||
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 443 ssl;
|
|
||||||
include snippets/https.conf;
|
include snippets/https.conf;
|
||||||
|
|
||||||
server_name qbt.${BASE_DOMAIN};
|
server_name qbt.${BASE_DOMAIN};
|
||||||
@@ -7,6 +11,6 @@ server {
|
|||||||
include snippets/proxy.conf;
|
include snippets/proxy.conf;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://qbittorrent:8080;
|
proxy_pass http://qbittorrent_backend;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
http2 on;
|
listen 443 ssl;
|
||||||
|
listen [::]:443 ssl;
|
||||||
|
|
||||||
ssl_certificate /etc/nginx/certs/${BASE_DOMAIN}/fullchain.pem;
|
ssl_certificate /etc/nginx/certs/${BASE_DOMAIN}/fullchain.pem;
|
||||||
ssl_certificate_key /etc/nginx/certs/${BASE_DOMAIN}/key.pem;
|
ssl_certificate_key /etc/nginx/certs/${BASE_DOMAIN}/key.pem;
|
||||||
@@ -1,19 +1,19 @@
|
|||||||
# restrict access
|
# Allow requests only from the internal network or a trusted gateway.
|
||||||
if ($allow_access = 0) {
|
if ($allow_access = 0) {
|
||||||
return 403;
|
return 403;
|
||||||
}
|
}
|
||||||
|
|
||||||
# set headers
|
# Forward normalized client metadata.
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Real-IP $trusted_client_ip;
|
proxy_set_header X-Real-IP $trusted_client_ip;
|
||||||
proxy_set_header X-Forwarded-For $trusted_client_ip;
|
proxy_set_header X-Forwarded-For $trusted_client_ip;
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
|
||||||
# clean headers
|
# Do not expose gateway authentication metadata to upstream services.
|
||||||
proxy_set_header X-Origin-Token '';
|
proxy_set_header X-Origin-Token '';
|
||||||
proxy_set_header EO-Connecting-IP '';
|
proxy_set_header EO-Connecting-IP '';
|
||||||
|
|
||||||
# enable websockets: http://nginx.org/en/docs/http/websocket.html
|
# Support WebSocket upgrades.
|
||||||
proxy_http_version 1.1;
|
proxy_http_version 1.1;
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
proxy_set_header Connection $connection_upgrade;
|
proxy_set_header Connection $connection_upgrade;
|
||||||
Reference in new issue
Block a user