diff --git a/app-configs/rinoa/swag/nginx/proxy-confs/dashboard.subdomain.conf b/app-configs/rinoa/swag/nginx/proxy-confs/dashboard.subdomain.conf new file mode 100644 index 0000000..45e4ce0 --- /dev/null +++ b/app-configs/rinoa/swag/nginx/proxy-confs/dashboard.subdomain.conf @@ -0,0 +1,139 @@ +## Version 2024/07/27 +# make sure that your dns has a cname set for dashboard + +server { + listen 81; + + server_name _; + + root /dashboard/www; + index index.php; + + client_max_body_size 0; + + # enable for ldap auth (requires ldap-location.conf in the location block) + #include /config/nginx/ldap-server.conf; + + # enable for Authelia (requires authelia-location.conf in the location block) + #include /config/nginx/authelia-server.conf; + + # enable for Authentik (requires authentik-location.conf in the location block) + #include /config/nginx/authentik-server.conf; + + location / { + # enable the next two lines for http auth + #auth_basic "Restricted"; + #auth_basic_user_file /config/nginx/.htpasswd; + + # enable for ldap auth (requires ldap-server.conf in the server block) + #include /config/nginx/ldap-location.conf; + + # enable for Authelia (requires authelia-server.conf in the server block) + #include /config/nginx/authelia-location.conf; + + # enable for Authentik (requires authentik-server.conf in the server block) + #include /config/nginx/authentik-location.conf; + + allow 10.0.0.0/8; + allow 172.16.0.0/12; + allow 192.168.0.0/16; + deny all; + + try_files $uri $uri/ /index.php$is_args$args =404; + } + + location ~ ^(.+\.php)(.*)$ { + # enable the next two lines for http auth + #auth_basic "Restricted"; + #auth_basic_user_file /config/nginx/.htpasswd; + + # enable for ldap auth (requires ldap-server.conf in the server block) + #include /config/nginx/ldap-location.conf; + + # enable for Authelia (requires authelia-server.conf in the server block) + #include /config/nginx/authelia-location.conf; + + # enable for Authentik (requires authentik-server.conf in the server block) + #include /config/nginx/authentik-location.conf; + + allow 10.0.0.0/8; + allow 172.16.0.0/12; + allow 192.168.0.0/16; + deny all; + + fastcgi_split_path_info ^(.+\.php)(.*)$; + fastcgi_pass 127.0.0.1:9000; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } +} + +server { + listen 443 ssl; + listen [::]:443 ssl; + + server_name dashboard.*; + + root /dashboard/www; + index index.php; + + include /config/nginx/ssl.conf; + + client_max_body_size 0; + + # enable for ldap auth (requires ldap-location.conf in the location block) + #include /config/nginx/ldap-server.conf; + + # enable for Authelia (requires authelia-location.conf in the location block) + #include /config/nginx/authelia-server.conf; + + # enable for Authentik (requires authentik-location.conf in the location block) + #include /config/nginx/authentik-server.conf; + + location / { + # enable the next two lines for http auth + #auth_basic "Restricted"; + #auth_basic_user_file /config/nginx/.htpasswd; + + # enable for ldap auth (requires ldap-server.conf in the server block) + #include /config/nginx/ldap-location.conf; + + # enable for Authelia (requires authelia-server.conf in the server block) + #include /config/nginx/authelia-location.conf; + + # enable for Authentik (requires authentik-server.conf in the server block) + #include /config/nginx/authentik-location.conf; + + allow 10.0.0.0/8; + allow 172.16.0.0/12; + allow 192.168.0.0/16; + deny all; + + try_files $uri $uri/ /index.php$is_args$args =404; + } + + location ~ ^(.+\.php)(.*)$ { + # enable the next two lines for http auth + #auth_basic "Restricted"; + #auth_basic_user_file /config/nginx/.htpasswd; + + # enable for ldap auth (requires ldap-server.conf in the server block) + #include /config/nginx/ldap-location.conf; + + # enable for Authelia (requires authelia-server.conf in the server block) + #include /config/nginx/authelia-location.conf; + + # enable for Authentik (requires authentik-server.conf in the server block) + #include /config/nginx/authentik-location.conf; + + allow 10.0.0.0/8; + allow 172.16.0.0/12; + allow 192.168.0.0/16; + deny all; + + fastcgi_split_path_info ^(.+\.php)(.*)$; + fastcgi_pass 127.0.0.1:9000; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } +} diff --git a/app-configs/rinoa/swag/nginx/proxy-confs/homeassistant.subdomain.conf b/app-configs/rinoa/swag/nginx/proxy-confs/homeassistant.subdomain.conf new file mode 100644 index 0000000..ec933a0 --- /dev/null +++ b/app-configs/rinoa/swag/nginx/proxy-confs/homeassistant.subdomain.conf @@ -0,0 +1,64 @@ +## Version 2024/07/16 +# make sure that your homeassistant container is named homeassistant +# make sure that your dns has a cname set for homeassistant + +# As of homeassistant 2021.7.0, it is now required to define the network range your proxy resides in, this is done in Homeassitants configuration.yaml +# https://www.home-assistant.io/integrations/http/#trusted_proxies +# Example below uses the default dockernetwork ranges, you may need to update this if you dont use defaults. +# +# http: +# use_x_forwarded_for: true +# trusted_proxies: +# - 172.16.0.0/12 + +server { + listen 443 ssl; + listen [::]:443 ssl; + + server_name ha.*; + + include /config/nginx/ssl.conf; + + client_max_body_size 0; + + # enable for ldap auth (requires ldap-location.conf in the location block) + #include /config/nginx/ldap-server.conf; + + # enable for Authelia (requires authelia-location.conf in the location block) + #include /config/nginx/authelia-server.conf; + + # enable for Authentik (requires authentik-location.conf in the location block) + #include /config/nginx/authentik-server.conf; + + location / { + # enable the next two lines for http auth + #auth_basic "Restricted"; + #auth_basic_user_file /config/nginx/.htpasswd; + + # enable for ldap auth (requires ldap-server.conf in the server block) + #include /config/nginx/ldap-location.conf; + + # enable for Authelia (requires authelia-server.conf in the server block) + #include /config/nginx/authelia-location.conf; + + # enable for Authentik (requires authentik-server.conf in the server block) + #include /config/nginx/authentik-location.conf; + + include /config/nginx/proxy.conf; + include /config/nginx/resolver.conf; + set $upstream_app 192.168.1.252; + set $upstream_port 8123; + set $upstream_proto http; + proxy_pass $upstream_proto://$upstream_app:$upstream_port; + + } + + location ~ ^/(api|local|media)/ { + include /config/nginx/proxy.conf; + include /config/nginx/resolver.conf; + set $upstream_app 192.168.1.252; + set $upstream_port 8123; + set $upstream_proto http; + proxy_pass $upstream_proto://$upstream_app:$upstream_port; + } +} diff --git a/app-configs/rinoa/swag/nginx/proxy-confs/homepage.subfolder.conf b/app-configs/rinoa/swag/nginx/proxy-confs/homepage.subfolder.conf new file mode 100644 index 0000000..08208f1 --- /dev/null +++ b/app-configs/rinoa/swag/nginx/proxy-confs/homepage.subfolder.conf @@ -0,0 +1,26 @@ +## Version 2023/02/05 +# make sure that your heimdall container is named heimdall +# In order to use this location block you need to edit the default file one folder up and comment out the / location + +location / { + # enable the next two lines for http auth + #auth_basic "Restricted"; + #auth_basic_user_file /config/nginx/.htpasswd; + + # enable for ldap auth (requires ldap-server.conf in the server block) + #include /config/nginx/ldap-location.conf; + + # enable for Authelia (requires authelia-server.conf in the server block) + #include /config/nginx/authelia-location.conf; + + # enable for Authentik (requires authentik-server.conf in the server block) + #include /config/nginx/authentik-location.conf; + + include /config/nginx/proxy.conf; + include /config/nginx/resolver.conf; + set $upstream_app homepage; + set $upstream_port 3000; + set $upstream_proto http; + proxy_pass $upstream_proto://$upstream_app:$upstream_port; + +} diff --git a/app-configs/rinoa/swag/nginx/proxy-confs/webhook.subdomain.conf b/app-configs/rinoa/swag/nginx/proxy-confs/webhook.subdomain.conf new file mode 100644 index 0000000..ff006ab --- /dev/null +++ b/app-configs/rinoa/swag/nginx/proxy-confs/webhook.subdomain.conf @@ -0,0 +1,53 @@ +## Version 2025/07/18 +# make sure that your container is named +# make sure that your dns has a cname set for + +server { + listen 443 ssl; +# listen 443 quic; + listen [::]:443 ssl; +# listen [::]:443 quic; + + server_name webhook.*; + + include /config/nginx/ssl.conf; + + client_max_body_size 0; + + # enable for ldap auth (requires ldap-location.conf in the location block) + #include /config/nginx/ldap-server.conf; + + # enable for Authelia (requires authelia-location.conf in the location block) + #include /config/nginx/authelia-server.conf; + + # enable for Authentik (requires authentik-location.conf in the location block) + #include /config/nginx/authentik-server.conf; + + # enable for Tinyauth (requires tinyauth-location.conf in the location block) + #include /config/nginx/tinyauth-server.conf; + + location / { + # enable the next two lines for http auth + #auth_basic "Restricted"; + #auth_basic_user_file /config/nginx/.htpasswd; + + # enable for ldap auth (requires ldap-server.conf in the server block) + #include /config/nginx/ldap-location.conf; + + # enable for Authelia (requires authelia-server.conf in the server block) + #include /config/nginx/authelia-location.conf; + + # enable for Authentik (requires authentik-server.conf in the server block) + #include /config/nginx/authentik-location.conf; + + # enable for Tinyauth (requires tinyauth-server.conf in the server block) + #include /config/nginx/tinyauth-location.conf; + + include /config/nginx/proxy.conf; + include /config/nginx/resolver.conf; + set $upstream_app 192.168.1.252; + set $upstream_port 9000; + set $upstream_proto http; + proxy_pass $upstream_proto://$upstream_app:$upstream_port; + } +} diff --git a/app-configs/rinoa/swag/nginx/site-confs/default.conf b/app-configs/rinoa/swag/nginx/site-confs/default.conf new file mode 100644 index 0000000..a583677 --- /dev/null +++ b/app-configs/rinoa/swag/nginx/site-confs/default.conf @@ -0,0 +1,97 @@ +## Version 2024/07/16 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/site-confs/default.conf.sample + +# Sablier JS (https://github.com/sablierapp/sablier/issues/110#issuecomment-2479909234) +js_import /etc/nginx/conf.d/sablier.js; + +# redirect all traffic to https +server { + listen 80 default_server; + listen [::]:80 default_server; + + location / { + return 301 https://$host$request_uri; + } +} + +# main server block +server { + listen 443 ssl default_server; + listen [::]:443 ssl default_server; + + server_name _; + + include /config/nginx/ssl.conf; + + root /config/www; + index index.html index.htm index.php; + + # enable subfolder method reverse proxy confs + include /config/nginx/proxy-confs/*.subfolder.conf; + + # enable for ldap auth (requires ldap-location.conf in the location block) + #include /config/nginx/ldap-server.conf; + + # enable for Authelia (requires authelia-location.conf in the location block) + #include /config/nginx/authelia-server.conf; + + # enable for Authentik (requires authentik-location.conf in the location block) + #include /config/nginx/authentik-server.conf; + + # location / { + # # enable for basic auth + # #auth_basic "Restricted"; + # #auth_basic_user_file /config/nginx/.htpasswd; + + # # enable for ldap auth (requires ldap-server.conf in the server block) + # #include /config/nginx/ldap-location.conf; + + # # enable for Authelia (requires authelia-server.conf in the server block) + # #include /config/nginx/authelia-location.conf; + + # # enable for Authentik (requires authentik-server.conf in the server block) + # #include /config/nginx/authentik-location.conf; + + # try_files $uri $uri/ /index.html /index.htm /index.php$is_args$args; + + # auth_request /auth; + # error_page 401 =200 /ldaplogin; + + # include /config/nginx/proxy.conf; + # resolver 127.0.0.11 valid=30s; + # set $upstream_app homepage; + # set $upstream_port 3000; + # set $upstream_proto http; + # proxy_pass $upstream_proto://$upstream_app:$upstream_port; + # } + + location ~ ^(.+\.php)(.*)$ { + # enable the next two lines for http auth + #auth_basic "Restricted"; + #auth_basic_user_file /config/nginx/.htpasswd; + + # enable for ldap auth (requires ldap-server.conf in the server block) + #include /config/nginx/ldap-location.conf; + + # enable for Authelia (requires authelia-server.conf in the server block) + #include /config/nginx/authelia-location.conf; + + # enable for Authentik (requires authentik-server.conf in the server block) + #include /config/nginx/authentik-location.conf; + + fastcgi_split_path_info ^(.+\.php)(.*)$; + if (!-f $document_root$fastcgi_script_name) { return 404; } + fastcgi_pass 127.0.0.1:9000; + fastcgi_index index.php; + include /etc/nginx/fastcgi_params; + } + + # deny access to .htaccess/.htpasswd files + location ~ /\.ht { + deny all; + } +} + +# enable subdomain method reverse proxy confs +include /config/nginx/proxy-confs/*.subdomain.conf; +# enable proxy cache for auth +proxy_cache_path cache/ keys_zone=auth_cache:10m;