diff --git a/Dockerfile b/Dockerfile index e50f974..a3df77a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ghcr.io/linuxserver/baseimage-alpine:3.12 as grab-stage +FROM ghcr.io/linuxserver/baseimage-alpine:3.15 as grab-stage RUN \ apk add --no-cache --upgrade \ diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-nginx-proxy-confs-setup/dependencies.d/init-mods b/root/etc/s6-overlay/s6-rc.d/init-mod-nginx-proxy-confs-setup/dependencies.d/init-mods new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-nginx-proxy-confs-setup/run b/root/etc/s6-overlay/s6-rc.d/init-mod-nginx-proxy-confs-setup/run new file mode 100644 index 0000000..d4709c6 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-nginx-proxy-confs-setup/run @@ -0,0 +1,40 @@ +#!/usr/bin/with-contenv bash +# shellcheck shell=bash + +### +# SWAG LOGIC https://github.com/linuxserver/docker-swag/blob/master/root/etc/cont-init.d/50-config +### + +# copy reverse proxy configs +cp -R /defaults/proxy-confs /config/nginx/ + +# copy proxy defaults +[[ ! -f /config/nginx/proxy.conf ]] && + cp /defaults/proxy.conf /config/nginx/proxy.conf +[[ ! -f /config/nginx/ssl.conf ]] && + cp /defaults/ssl.conf /config/nginx/ssl.conf + +# Set resolver +if ! grep -q 'resolver' /config/nginx/resolver.conf; then + RESOLVER=$(awk 'BEGIN{ORS=" "} $1=="nameserver" {print $2}' /etc/resolv.conf) + echo "Setting resolver to ${RESOLVER}" + echo -e "# This file is auto-generated only on first start, based on the container's /etc/resolv.conf file. Feel free to modify it as you wish.\n\nresolver ${RESOLVER} valid=30s;" > /config/nginx/resolver.conf +fi + +# Set worker_processes +if ! grep -q 'worker_processes' /config/nginx/worker_processes.conf; then + WORKER_PROCESSES=$(nproc) + echo "Setting worker_processes to ${WORKER_PROCESSES}" + echo -e "# This file is auto-generated only on first start, based on the cpu cores detected. Feel free to change it to any other number or to auto to let nginx handle it automatically.\n\nworker_processes ${WORKER_PROCESSES};" > /config/nginx/worker_processes.conf +fi + +# copy pre-generated dhparams or generate if needed +[[ ! -f /config/nginx/dhparams.pem ]] && \ + cp /defaults/dhparams.pem /config/nginx/dhparams.pem +if ! grep -q 'PARAMETERS' "/config/nginx/dhparams.pem"; then + curl -o /config/nginx/dhparams.pem -L "https://ssl-config.mozilla.org/ffdhe4096.txt" +fi + +# permissions +chown -R abc:abc \ + /config/nginx/{proxy.conf,ssl.conf,dhparams.pem,proxy-confs/} diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-nginx-proxy-confs-setup/type b/root/etc/s6-overlay/s6-rc.d/init-mod-nginx-proxy-confs-setup/type new file mode 100644 index 0000000..3d92b15 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-nginx-proxy-confs-setup/type @@ -0,0 +1 @@ +oneshot \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-nginx-proxy-confs-setup/up b/root/etc/s6-overlay/s6-rc.d/init-mod-nginx-proxy-confs-setup/up new file mode 100644 index 0000000..6d6d69d --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-nginx-proxy-confs-setup/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-mod-nginx-proxy-confs-setup/run \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-nginx-proxy-confs-setup b/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-nginx-proxy-confs-setup new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-nginx-proxy-confs-setup b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-nginx-proxy-confs-setup new file mode 100644 index 0000000..e69de29