diff --git a/Dockerfile b/Dockerfile index 7927ea1..1efc0c5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,6 +8,7 @@ ENV GENERICCACHE_VERSION=2 \ CACHE_DISK_SIZE=1000000m \ CACHE_MAX_AGE=3560d \ CACHE_SLICE_SIZE=1m \ + ENABLE_IPV6=false \ UPSTREAM_DNS="8.8.8.8 8.8.4.4" \ BEAT_TIME=1h \ LOGFILE_RETENTION=3560 \ diff --git a/overlay/etc/nginx/sites-available/10_generic.conf b/overlay/etc/nginx/sites-available/10_generic.conf index 7349480..f65cb92 100644 --- a/overlay/etc/nginx/sites-available/10_generic.conf +++ b/overlay/etc/nginx/sites-available/10_generic.conf @@ -1,6 +1,7 @@ server { listen 80 reuseport; + ENABLE_IPV6; access_log /data/logs/access.log cachelog; error_log /data/logs/error.log; diff --git a/overlay/etc/nginx/sites-available/generic.conf.d/10_generic.conf b/overlay/etc/nginx/sites-available/generic.conf.d/10_generic.conf index 92c43ba..11e75e9 100644 --- a/overlay/etc/nginx/sites-available/generic.conf.d/10_generic.conf +++ b/overlay/etc/nginx/sites-available/generic.conf.d/10_generic.conf @@ -1,4 +1,4 @@ - resolver UPSTREAM_DNS ipv6=off; + resolver UPSTREAM_DNS; location / { diff --git a/overlay/hooks/entrypoint-pre.d/10_setup.sh b/overlay/hooks/entrypoint-pre.d/10_setup.sh index 47a45c1..4307041 100644 --- a/overlay/hooks/entrypoint-pre.d/10_setup.sh +++ b/overlay/hooks/entrypoint-pre.d/10_setup.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash set -e # Preprocess UPSTREAM_DNS to allow for multiple resolvers using the same syntax as lancache-dns @@ -6,8 +6,14 @@ UPSTREAM_DNS="$(echo -n "${UPSTREAM_DNS}" | sed 's/[;]/ /g')" echo "worker_processes ${NGINX_WORKER_PROCESSES};" > /etc/nginx/workers.conf sed -i "s/^user .*/user ${WEBUSER};/" /etc/nginx/nginx.conf -sed -i "s/CACHE_MEM_SIZE/${CACHE_MEM_SIZE}/" /etc/nginx/conf.d/20_proxy_cache_path.conf +sed -i "s/CACHE_MEM_SIZE/${CACHE_MEM_SIZE}/" /etc/nginx/conf.d/20_proxy_cache_path.conf sed -i "s/CACHE_DISK_SIZE/${CACHE_DISK_SIZE}/" /etc/nginx/conf.d/20_proxy_cache_path.conf -sed -i "s/CACHE_MAX_AGE/${CACHE_MAX_AGE}/" /etc/nginx/sites-available/generic.conf.d/root/20_cache.conf +sed -i "s/CACHE_MAX_AGE/${CACHE_MAX_AGE}/" /etc/nginx/sites-available/generic.conf.d/root/20_cache.conf sed -i "s/slice 1m;/slice ${CACHE_SLICE_SIZE};/" /etc/nginx/sites-available/generic.conf.d/root/20_cache.conf -sed -i "s/UPSTREAM_DNS/${UPSTREAM_DNS}/" /etc/nginx/sites-available/generic.conf.d/10_generic.conf +if [[ ${ENABLE_IPV6} != "true" ]]; then + sed -i "s/UPSTREAM_DNS/${UPSTREAM_DNS} ipv6=off/" /etc/nginx/sites-available/generic.conf.d/10_generic.conf + sed -i "/ENABLE_IPV6/d" /etc/nginx/sites-available/10_generic.conf +else + sed -i "s/UPSTREAM_DNS/${UPSTREAM_DNS}/" /etc/nginx/sites-available/generic.conf.d/10_generic.conf + sed -i "s/ENABLE_IPV6/listen [::]:80 reuseport/" /etc/nginx/sites-available/10_generic.conf +fi