From 8c28cb7a40a41890a5ae1081ab456ebcce31d335 Mon Sep 17 00:00:00 2001 From: thelamer Date: Thu, 4 Sep 2025 15:28:25 -0400 Subject: [PATCH] make the env proxy confs their own isolated folder to include --- root/app/config-generator/generate_configs.py | 2 +- root/app/config-generator/templates/default.conf.j2 | 4 +++- root/defaults/nginx/site-confs/default.conf.sample | 2 ++ root/etc/s6-overlay/s6-rc.d/init-swag-config/run | 5 ++--- root/etc/s6-overlay/s6-rc.d/init-swag-folders/run | 1 + 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/root/app/config-generator/generate_configs.py b/root/app/config-generator/generate_configs.py index 6b0b643..f0858ff 100644 --- a/root/app/config-generator/generate_configs.py +++ b/root/app/config-generator/generate_configs.py @@ -5,7 +5,7 @@ from jinja2 import Environment, FileSystemLoader # --- Configuration --- TEMPLATE_DIR = '/app/config-generator/templates' -PROXY_OUTPUT_DIR = '/config/nginx/proxy-confs' +PROXY_OUTPUT_DIR = '/config/nginx/env-proxy-confs' DEFAULT_CONF_OUTPUT = '/config/nginx/site-confs/default.conf' HTPASSWD_FILE = '/config/nginx/.htpasswd' # --------------------- diff --git a/root/app/config-generator/templates/default.conf.j2 b/root/app/config-generator/templates/default.conf.j2 index 156f613..f318aec 100644 --- a/root/app/config-generator/templates/default.conf.j2 +++ b/root/app/config-generator/templates/default.conf.j2 @@ -100,4 +100,6 @@ server { } # enable subdomain method reverse proxy confs -include /config/nginx/proxy-confs/*.conf; +include /config/nginx/proxy-confs/*.subdomain.conf; +# enable env var subdomain method reverse proxy confs +include /config/nginx/env-proxy-confs/*.subdomain.conf; diff --git a/root/defaults/nginx/site-confs/default.conf.sample b/root/defaults/nginx/site-confs/default.conf.sample index e240496..5b9d20a 100644 --- a/root/defaults/nginx/site-confs/default.conf.sample +++ b/root/defaults/nginx/site-confs/default.conf.sample @@ -82,3 +82,5 @@ server { # enable subdomain method reverse proxy confs include /config/nginx/proxy-confs/*.subdomain.conf; +# enable env var subdomain method reverse proxy confs +include /config/nginx/env-proxy-confs/*.subdomain.conf; diff --git a/root/etc/s6-overlay/s6-rc.d/init-swag-config/run b/root/etc/s6-overlay/s6-rc.d/init-swag-config/run index cb90a31..73d34d4 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-swag-config/run +++ b/root/etc/s6-overlay/s6-rc.d/init-swag-config/run @@ -43,12 +43,11 @@ if [[ ! -f /config/nginx/ldap-server.conf ]]; then cp /defaults/nginx/ldap-server.conf.sample /config/nginx/ldap-server.conf fi +# clean the env target directory to ensure a fresh start +rm -f /config/nginx/env-proxy-confs/* # check if any PROXY_CONFIG environment variables are set if env | grep -q "^PROXY_CONFIG_"; then echo "INFO: Found PROXY_CONFIG environment variables. Generating Nginx configs from environment..." - # clean the target directory to ensure a fresh start - echo "INFO: Cleaning /config/nginx/proxy-confs/ of existing files..." - rm -f /config/nginx/proxy-confs/* # run the Python generator script echo "INFO: Running python config generator..." if ! python3 /app/config-generator/generate_configs.py; then diff --git a/root/etc/s6-overlay/s6-rc.d/init-swag-folders/run b/root/etc/s6-overlay/s6-rc.d/init-swag-folders/run index 9de179d..5ab7594 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-swag-folders/run +++ b/root/etc/s6-overlay/s6-rc.d/init-swag-folders/run @@ -6,6 +6,7 @@ mkdir -p \ /config/{fail2ban,dns-conf} \ /config/etc/letsencrypt/renewal-hooks \ /config/log/{fail2ban,letsencrypt,nginx} \ + /config/nginx/env-proxy-confs \ /config/nginx/proxy-confs \ /run/fail2ban \ /tmp/letsencrypt