Initial upload

This commit is contained in:
2024-11-30 15:14:13 -07:00
parent 3875651b0e
commit 5597843630
119 changed files with 1222 additions and 1 deletions

View File

@@ -0,0 +1,108 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
# #
# precreate log files
# #
for file in /config/log/nginx/access.log /config/log/nginx/error.log; do
if [[ ! -f "${file}" ]]; then
touch "${file}"
fi
done
# #
# copy default config files if they don't exist
# #
if [[ ! -f /config/nginx/nginx.conf ]]; then
cp /defaults/nginx/nginx.conf.sample /config/nginx/nginx.conf
fi
if [[ ! -f /config/nginx/ssl.conf ]]; then
cp /defaults/nginx/ssl.conf.sample /config/nginx/ssl.conf
fi
if [[ ! -f /config/nginx/site-confs/default.conf ]]; then
cp /defaults/nginx/site-confs/default.conf.sample /config/nginx/site-confs/default.conf
fi
# #
# force nginx.conf to include site-confs/*.conf instead of site-confs/*
# #
sed -i -E "s#^(\s*)include /config/nginx/site-confs/\*;#\1include /config/nginx/site-confs/\*.conf;#" /config/nginx/nginx.conf
# #
# copy index.html if no index file exists
# #
INDEX_EXISTS=false
for file in /config/www/index.*; do
if [[ -e "${file}" ]]; then
INDEX_EXISTS=true
break
fi
done
THEME_EXISTS=false
for file in /config/www/theme/*; do
if [[ -e "${file}" ]]; then
THEME_EXISTS=true
break
fi
done
# dont add an index, we want fancy indexing
# if [[ ${INDEX_EXISTS} == false ]] && grep -Eq '^\s*index[^#]*index\.html' /config/nginx/**/*.conf; then
# cp /defaults/www/index.html /config/www/index.html
# fi
if [[ ${THEME_EXISTS} == false ]]; then
cp -r /defaults/www/theme /config/www/
fi
# #
# copy pre-generated dhparams or generate if needed
# #
if [[ ! -f /config/nginx/dhparams.pem ]]; then
cp /defaults/nginx/dhparams.pem /config/nginx/dhparams.pem
fi
if ! grep -q 'PARAMETERS' "/config/nginx/dhparams.pem"; then
curl -o /config/nginx/dhparams.pem -L "https://ssl-config.mozilla.org/ffdhe4096.txt"
fi
# #
# Set resolver, ignore ipv6 addresses
# #
touch /config/nginx/resolver.conf
if ! grep -q 'resolver' /config/nginx/resolver.conf; then
RESOLVERRAW=$(awk 'BEGIN{ORS=" "} $1=="nameserver" {print $2}' /etc/resolv.conf)
for i in ${RESOLVERRAW}; do
if [[ "$(awk -F ':' '{print NF-1}' <<<"${i}")" -le 2 ]]; then
RESOLVER="${RESOLVER} ${i}"
fi
done
if [[ -z "${RESOLVER}" ]]; then
RESOLVER="127.0.0.11"
fi
echo "[ Resolver ]: Setting to ${RESOLVER}"
RESOLVEROUTPUT="# 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;"
echo -e "${RESOLVEROUTPUT}" >/config/nginx/resolver.conf
fi
# #
# Set worker_processes
# #
touch /config/nginx/worker_processes.conf
if ! grep -q 'worker_processes' /config/nginx/worker_processes.conf; then
WORKER_PROCESSES=$(nproc)
echo "[ Worker ]: 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

View File

@@ -0,0 +1 @@
oneshot

View File

@@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-nginx/run