|
@@ -1,93 +0,0 @@
|
|
|
-#!/command/with-contenv bash
|
|
|
-# shellcheck shell=bash
|
|
|
-
|
|
|
-set -e
|
|
|
-
|
|
|
-DATA_PATH=/data
|
|
|
-
|
|
|
-# Ensure /data is mounted
|
|
|
-if [ ! -d "$DATA_PATH" ]; then
|
|
|
- echo '--------------------------------------'
|
|
|
- echo "ERROR: $DATA_PATH is not mounted! Check your docker configuration."
|
|
|
- echo '--------------------------------------'
|
|
|
- /run/s6/basedir/bin/halt
|
|
|
- exit 1
|
|
|
-fi
|
|
|
-
|
|
|
-echo "❯ Checking folder structure ..."
|
|
|
-
|
|
|
-# Create required folders
|
|
|
-mkdir -p /tmp/nginx/body \
|
|
|
- /run/nginx \
|
|
|
- /var/log/nginx \
|
|
|
- /data/nginx \
|
|
|
- /data/custom_ssl \
|
|
|
- /data/logs \
|
|
|
- /data/access \
|
|
|
- /data/nginx/default_host \
|
|
|
- /data/nginx/default_www \
|
|
|
- /data/nginx/proxy_host \
|
|
|
- /data/nginx/redirection_host \
|
|
|
- /data/nginx/stream \
|
|
|
- /data/nginx/dead_host \
|
|
|
- /data/nginx/temp \
|
|
|
- /var/lib/nginx/cache/public \
|
|
|
- /var/lib/nginx/cache/private \
|
|
|
- /var/cache/nginx/proxy_temp \
|
|
|
- /data/letsencrypt-acme-challenge
|
|
|
-
|
|
|
-touch /var/log/nginx/error.log && chmod 777 /var/log/nginx/error.log && chmod -R 777 /var/cache/nginx
|
|
|
-chown root /tmp/nginx
|
|
|
-
|
|
|
-# Dynamically generate resolvers file, if resolver is IPv6, enclose in `[]`
|
|
|
-# thanks @tfmm
|
|
|
-if [ "$DISABLE_IPV6" == "true" ] || [ "$DISABLE_IPV6" == "on" ] || [ "$DISABLE_IPV6" == "1" ] || [ "$DISABLE_IPV6" == "yes" ];
|
|
|
-then
|
|
|
- echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" { sub(/%.*$/,"",$2); print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf) ipv6=off valid=10s;" > /etc/nginx/conf.d/include/resolvers.conf
|
|
|
-else
|
|
|
- echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" { sub(/%.*$/,"",$2); print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf) valid=10s;" > /etc/nginx/conf.d/include/resolvers.conf
|
|
|
-fi
|
|
|
-
|
|
|
-echo "Changing ownership of /data/logs to $(id -u):$(id -g)"
|
|
|
-chown -R "$(id -u):$(id -g)" /data/logs
|
|
|
-
|
|
|
-# Handle IPV6 settings
|
|
|
-/bin/handle-ipv6-setting /etc/nginx/conf.d
|
|
|
-/bin/handle-ipv6-setting /data/nginx
|
|
|
-
|
|
|
-# ref: https://github.com/linuxserver/docker-baseimage-alpine/blob/master/root/etc/cont-init.d/01-envfile
|
|
|
-
|
|
|
-# in s6, environmental variables are written as text files for s6 to monitor
|
|
|
-# search through full-path filenames for files ending in "__FILE"
|
|
|
-echo "❯ Secrets-init ..."
|
|
|
-for FILENAME in $(find /var/run/s6/container_environment/ | grep "__FILE$"); do
|
|
|
- echo "[secret-init] Evaluating ${FILENAME##*/} ..."
|
|
|
-
|
|
|
- # set SECRETFILE to the contents of the full-path textfile
|
|
|
- SECRETFILE=$(cat "${FILENAME}")
|
|
|
- # if SECRETFILE exists / is not null
|
|
|
- if [[ -f "${SECRETFILE}" ]]; then
|
|
|
- # strip the appended "__FILE" from environmental variable name ...
|
|
|
- STRIPFILE=$(echo "${FILENAME}" | sed "s/__FILE//g")
|
|
|
- # echo "[secret-init] Set STRIPFILE to ${STRIPFILE}" # DEBUG - rm for prod!
|
|
|
-
|
|
|
- # ... and set value to contents of secretfile
|
|
|
- # since s6 uses text files, this is effectively "export ..."
|
|
|
- printf $(cat "${SECRETFILE}") > "${STRIPFILE}"
|
|
|
- # echo "[secret-init] Set ${STRIPFILE##*/} to $(cat ${STRIPFILE})" # DEBUG - rm for prod!"
|
|
|
- echo "[secret-init] Success! ${STRIPFILE##*/} set from ${FILENAME##*/}"
|
|
|
-
|
|
|
- else
|
|
|
- echo "[secret-init] cannot find secret in ${FILENAME}"
|
|
|
- fi
|
|
|
-done
|
|
|
-
|
|
|
-echo
|
|
|
-echo "-------------------------------------
|
|
|
- _ _ ____ __ __
|
|
|
-| \ | | _ \| \/ |
|
|
|
-| \| | |_) | |\/| |
|
|
|
-| |\ | __/| | | |
|
|
|
-|_| \_|_| |_| |_|
|
|
|
--------------------------------------
|
|
|
-"
|