diff --git a/root/app/auto-proxy.sh b/root/app/auto-proxy.sh index 24f2b2f..737f5c1 100755 --- a/root/app/auto-proxy.sh +++ b/root/app/auto-proxy.sh @@ -30,7 +30,7 @@ else for CONTAINER in $EXISTING_CONFS; do if ! grep -q "${CONTAINER}" <<< "${ENABLED_CONTAINERS}"; then echo "**** Removing conf for ${CONTAINER} ****" - rm -rf "/auto-proxy/${CONTAINER}.conf" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + rm -rf "/auto-proxy/${CONTAINER}.conf" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" REMOVED_CONTAINERS="true" fi done @@ -49,42 +49,42 @@ for CONTAINER in ${AUTO_GEN}; do done . /auto-proxy/${CONTAINER}.conf if [ -f "/config/nginx/proxy-confs/${CONTAINER}.subdomain.conf.sample" ]; then - cp "/config/nginx/proxy-confs/${CONTAINER}.subdomain.conf.sample" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + cp "/config/nginx/proxy-confs/${CONTAINER}.subdomain.conf.sample" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" echo "**** Using preset proxy conf for ${CONTAINER} ****" if [ -n "${swag_auth_bypass}" ]; then echo "**** Swag auth bypass is auto managed via preset confs and cannot be overridden via env vars ****" fi if [ -n "${swag_port}" ]; then - sed -i "s|set \$upstream_port .*|set \$upstream_port ${swag_port};|g" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s|set \$upstream_port .*|set \$upstream_port ${swag_port};|g" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" echo "**** Overriding port for ${CONTAINER} ****" fi if [ -n "${swag_proto}" ]; then - sed -i "s|set \$upstream_proto .*|set \$upstream_proto ${swag_proto};|g" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s|set \$upstream_proto .*|set \$upstream_proto ${swag_proto};|g" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" echo "**** Overriding proto for ${CONTAINER} ****" fi if [ -n "${swag_url}" ]; then - sed -i "s|server_name .*|server_name ${swag_url};|" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s|server_name .*|server_name ${swag_url};|" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" echo "**** Overriding url for ${CONTAINER} ****" fi if [ "${swag_auth}" == "authelia" ]; then - sed -i "s|#include /config/nginx/authelia|include /config/nginx/authelia|g" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s|#include /config/nginx/authelia|include /config/nginx/authelia|g" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" echo "**** Enabling Authelia for ${CONTAINER} ****" elif [ "${swag_auth}" == "http" ]; then - sed -i "s|#auth_basic|auth_basic|g" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s|#auth_basic|auth_basic|g" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" echo "**** Enabling basic http auth for ${CONTAINER} ****" elif [ "${swag_auth}" == "ldap" ]; then - sed -i "s|#include /config/nginx/ldap.conf;|include /config/nginx/ldap.conf;|g" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" - sed -i "s|#auth_request /auth;|auth_request /auth;|g" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" - sed -i "s|#error_page 401 =200 /ldaplogin;|error_page 401 =200 /ldaplogin;|g" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s|#include /config/nginx/ldap.conf;|include /config/nginx/ldap.conf;|g" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s|#auth_request /auth;|auth_request /auth;|g" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s|#error_page 401 =200 /ldaplogin;|error_page 401 =200 /ldaplogin;|g" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" echo "**** Enabling basic http auth for ${CONTAINER} ****" fi else echo "**** No preset proxy conf found for ${CONTAINER}, generating from scratch ****" - cp "/config/nginx/proxy-confs/_template.subdomain.conf.sample" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + cp "/config/nginx/proxy-confs/_template.subdomain.conf.sample" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" if [ -n "${swag_auth_bypass}" ]; then - sed -i 's|^}$||' "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i 's|^}$||' "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" for location in $(echo ${swag_auth_bypass} | tr "," " "); do - cat <> "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + cat <> "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" location ~ ${location} { include /config/nginx/proxy.conf; @@ -98,9 +98,9 @@ for CONTAINER in ${AUTO_GEN}; do DUDE done - echo "}" >> "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + echo "}" >> "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" fi - sed -i "s||${CONTAINER}|g" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s||${CONTAINER}|g" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" if [ -z "${swag_port}" ]; then swag_port=$(docker inspect ${CONTAINER} | jq -r '.[0].NetworkSettings.Ports | keys[0]' | sed 's|/.*||') if [ "${swag_port}" == "null" ]; then @@ -108,28 +108,28 @@ DUDE swag_port="80" fi fi - sed -i "s|set \$upstream_port .*|set \$upstream_port ${swag_port};|g" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s|set \$upstream_port .*|set \$upstream_port ${swag_port};|g" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" echo "**** Setting port ${swag_port} for ${CONTAINER} ****" if [ -z "${swag_proto}" ]; then swag_proto="http" fi - sed -i "s|set \$upstream_proto .*|set \$upstream_proto ${swag_proto};|g" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s|set \$upstream_proto .*|set \$upstream_proto ${swag_proto};|g" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" echo "**** Setting proto ${swag_proto} for ${CONTAINER} ****" if [ -z "${swag_url}" ]; then swag_url="${CONTAINER}.*" fi - sed -i "s|server_name .*|server_name ${swag_url};|" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s|server_name .*|server_name ${swag_url};|" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" echo "**** Setting url ${swag_url} for ${CONTAINER} ****" if [ "${swag_auth}" == "authelia" ]; then - sed -i "s|#include /config/nginx/authelia|include /config/nginx/authelia|g" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s|#include /config/nginx/authelia|include /config/nginx/authelia|g" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" echo "**** Enabling Authelia for ${CONTAINER} ****" elif [ "${swag_auth}" == "http" ]; then - sed -i "s|#auth_basic|auth_basic|g" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s|#auth_basic|auth_basic|g" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" echo "**** Enabling basic http auth for ${CONTAINER} ****" elif [ "${swag_auth}" == "ldap" ]; then - sed -i "s|#include /config/nginx/ldap.conf;|include /config/nginx/ldap.conf;|g" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" - sed -i "s|#auth_request /auth;|auth_request /auth;|g" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" - sed -i "s|#error_page 401 =200 /ldaplogin;|error_page 401 =200 /ldaplogin;|g" "/config/nginx/proxy-confs/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s|#include /config/nginx/ldap.conf;|include /config/nginx/ldap.conf;|g" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s|#auth_request /auth;|auth_request /auth;|g" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" + sed -i "s|#error_page 401 =200 /ldaplogin;|error_page 401 =200 /ldaplogin;|g" "/etc/nginx/http.d/auto-proxy-${CONTAINER}.subdomain.conf" echo "**** Enabling basic http auth for ${CONTAINER} ****" fi fi diff --git a/root/etc/cont-finish.d/98-auto-proxy b/root/etc/cont-finish.d/98-auto-proxy index b0241f7..5d76736 100644 --- a/root/etc/cont-finish.d/98-auto-proxy +++ b/root/etc/cont-finish.d/98-auto-proxy @@ -1,4 +1,4 @@ #!/usr/bin/with-contenv bash sed -i '/\/app\/auto-proxy.sh/d' /config/crontabs/root -rm -rf /config/nginx/proxy-confs/auto-proxy*.conf +rm -rf /etc/nginx/http.d/auto-proxy*.conf /config/nginx/proxy-confs/auto-proxy*.conf diff --git a/root/etc/cont-init.d/98-auto-proxy b/root/etc/cont-init.d/98-auto-proxy index 1b5d12b..6481b88 100644 --- a/root/etc/cont-init.d/98-auto-proxy +++ b/root/etc/cont-init.d/98-auto-proxy @@ -5,8 +5,9 @@ if [ ! -f /usr/local/bin/docker ]; then exit 0 fi -rm -rf /config/nginx/proxy-confs/auto-proxy*.conf -cp /defaults/auto-proxy-readme /config/nginx/proxy-confs/auto-proxy-readme +rm -rf /etc/nginx/http.d/auto-proxy*.conf /config/nginx/proxy-confs/auto-proxy*.conf +sed -i 's|#include /etc/nginx/http.d|include /etc/nginx/http.d|' /config/nginx/nginx.conf +cp /defaults/auto-proxy-readme /etc/nginx/http.d/auto-proxy-readme rm -rf /auto-proxy mkdir /auto-proxy