diff --git a/entrypoint/10-listen-on-ipv6-by-default.sh b/entrypoint/10-listen-on-ipv6-by-default.sh index 112ad36d..f64d8cf6 100755 --- a/entrypoint/10-listen-on-ipv6-by-default.sh +++ b/entrypoint/10-listen-on-ipv6-by-default.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -e diff --git a/entrypoint/15-local-resolvers.envsh b/entrypoint/15-local-resolvers.envsh index c39e7842..d3beae9c 100755 --- a/entrypoint/15-local-resolvers.envsh +++ b/entrypoint/15-local-resolvers.envsh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -eu diff --git a/entrypoint/20-envsubst-on-templates.sh b/entrypoint/20-envsubst-on-templates.sh index b182fc8c..64dacd34 100755 --- a/entrypoint/20-envsubst-on-templates.sh +++ b/entrypoint/20-envsubst-on-templates.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -e diff --git a/entrypoint/30-tune-worker-processes.sh b/entrypoint/30-tune-worker-processes.sh index b2f5c721..fdae66be 100755 --- a/entrypoint/30-tune-worker-processes.sh +++ b/entrypoint/30-tune-worker-processes.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -eu diff --git a/entrypoint/docker-entrypoint.sh b/entrypoint/docker-entrypoint.sh index a9f119a0..943656ff 100755 --- a/entrypoint/docker-entrypoint.sh +++ b/entrypoint/docker-entrypoint.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -e diff --git a/mainline/alpine-slim/10-listen-on-ipv6-by-default.sh b/mainline/alpine-slim/10-listen-on-ipv6-by-default.sh index f5441f42..f64d8cf6 100755 --- a/mainline/alpine-slim/10-listen-on-ipv6-by-default.sh +++ b/mainline/alpine-slim/10-listen-on-ipv6-by-default.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -e @@ -9,7 +9,7 @@ entrypoint_log() { fi } -ME=$(basename $0) +ME=$(basename "$0") DEFAULT_CONF_FILE="etc/nginx/conf.d/default.conf" # check if we have ipv6 available @@ -24,10 +24,16 @@ if [ ! -f "/$DEFAULT_CONF_FILE" ]; then fi # check if the file can be modified, e.g. not on a r/o filesystem -touch /$DEFAULT_CONF_FILE 2>/dev/null || { entrypoint_log "$ME: info: Cannot modify /$DEFAULT_CONF_FILE (read-only file system?)"; exit 0; } +touch /$DEFAULT_CONF_FILE 2>/dev/null || { + entrypoint_log "$ME: info: Cannot modify /$DEFAULT_CONF_FILE (read-only file system?)" + exit 0 +} # check if the file is already modified, e.g. on a container restart -grep -q "listen \[::]\:80;" /$DEFAULT_CONF_FILE && { entrypoint_log "$ME: info: Listen on IPv6 is already enabled"; exit 0; } +grep -q "listen \[::]\:80;" /$DEFAULT_CONF_FILE && { + entrypoint_log "$ME: info: Listen on IPv6 is already enabled" + exit 0 +} if [ -f "/etc/os-release" ]; then . /etc/os-release @@ -39,24 +45,24 @@ fi entrypoint_log "$ME: info: Getting the checksum of /$DEFAULT_CONF_FILE" case "$ID" in - "debian") - CHECKSUM=$(dpkg-query --show --showformat='${Conffiles}\n' nginx | grep $DEFAULT_CONF_FILE | cut -d' ' -f 3) - echo "$CHECKSUM /$DEFAULT_CONF_FILE" | md5sum -c - >/dev/null 2>&1 || { - entrypoint_log "$ME: info: /$DEFAULT_CONF_FILE differs from the packaged version" - exit 0 - } - ;; - "alpine") - CHECKSUM=$(apk manifest nginx 2>/dev/null| grep $DEFAULT_CONF_FILE | cut -d' ' -f 1 | cut -d ':' -f 2) - echo "$CHECKSUM /$DEFAULT_CONF_FILE" | sha1sum -c - >/dev/null 2>&1 || { - entrypoint_log "$ME: info: /$DEFAULT_CONF_FILE differs from the packaged version" - exit 0 - } - ;; - *) - entrypoint_log "$ME: info: Unsupported distribution" +"debian") + CHECKSUM=$(dpkg-query --show --showformat='${Conffiles}\n' nginx | grep $DEFAULT_CONF_FILE | cut -d' ' -f 3) + echo "$CHECKSUM /$DEFAULT_CONF_FILE" | md5sum -c - >/dev/null 2>&1 || { + entrypoint_log "$ME: info: /$DEFAULT_CONF_FILE differs from the packaged version" + exit 0 + } + ;; +"alpine") + CHECKSUM=$(apk manifest nginx 2>/dev/null | grep $DEFAULT_CONF_FILE | cut -d' ' -f 1 | cut -d ':' -f 2) + echo "$CHECKSUM /$DEFAULT_CONF_FILE" | sha1sum -c - >/dev/null 2>&1 || { + entrypoint_log "$ME: info: /$DEFAULT_CONF_FILE differs from the packaged version" exit 0 - ;; + } + ;; +*) + entrypoint_log "$ME: info: Unsupported distribution" + exit 0 + ;; esac # enable ipv6 on default.conf listen sockets diff --git a/mainline/alpine-slim/15-local-resolvers.envsh b/mainline/alpine-slim/15-local-resolvers.envsh index c39e7842..d3beae9c 100755 --- a/mainline/alpine-slim/15-local-resolvers.envsh +++ b/mainline/alpine-slim/15-local-resolvers.envsh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -eu diff --git a/mainline/alpine-slim/20-envsubst-on-templates.sh b/mainline/alpine-slim/20-envsubst-on-templates.sh index b095adb7..64dacd34 100755 --- a/mainline/alpine-slim/20-envsubst-on-templates.sh +++ b/mainline/alpine-slim/20-envsubst-on-templates.sh @@ -1,9 +1,9 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -e -ME=$(basename $0) +ME=$(basename "$0") entrypoint_log() { if [ -z "${NGINX_ENTRYPOINT_QUIET_LOGS:-}" ]; then diff --git a/mainline/alpine-slim/30-tune-worker-processes.sh b/mainline/alpine-slim/30-tune-worker-processes.sh index 165ec7a2..fdae66be 100755 --- a/mainline/alpine-slim/30-tune-worker-processes.sh +++ b/mainline/alpine-slim/30-tune-worker-processes.sh @@ -1,20 +1,23 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -eu LC_ALL=C -ME=$( basename "$0" ) +ME=$(basename "$0") PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin [ "${NGINX_ENTRYPOINT_WORKER_PROCESSES_AUTOTUNE:-}" ] || exit 0 -touch /etc/nginx/nginx.conf 2>/dev/null || { echo >&2 "$ME: ERROR: Cannot modify /etc/nginx/nginx.conf (read-only file system?)"; exit 0; } +touch /etc/nginx/nginx.conf 2>/dev/null || { + echo >&2 "$ME: ERROR: Cannot modify /etc/nginx/nginx.conf (read-only file system?)" + exit 0 +} ceildiv() { num=$1 div=$2 - echo $(( (num + div - 1) / div )) + echo $(((num + div - 1) / div)) } get_cpuset() { @@ -22,15 +25,15 @@ get_cpuset() { cpusetfile=$2 ncpu=0 [ -f "$cpusetroot/$cpusetfile" ] || return 1 - for token in $( tr ',' ' ' < "$cpusetroot/$cpusetfile" ); do + for token in $(tr ',' ' ' <"$cpusetroot/$cpusetfile"); do case "$token" in - *-*) - count=$( seq "$(echo "$token" | tr '-' ' ')" | wc -l ) - ncpu=$(( ncpu+count )) - ;; - *) - ncpu=$(( ncpu+1 )) - ;; + *-*) + count=$(seq "$(echo "$token" | tr '-' ' ')" | wc -l) + ncpu=$((ncpu + count)) + ;; + *) + ncpu=$((ncpu + 1)) + ;; esac done echo "$ncpu" @@ -41,11 +44,11 @@ get_quota() { ncpu=0 [ -f "$cpuroot/cpu.cfs_quota_us" ] || return 1 [ -f "$cpuroot/cpu.cfs_period_us" ] || return 1 - cfs_quota=$( cat "$cpuroot/cpu.cfs_quota_us" ) - cfs_period=$( cat "$cpuroot/cpu.cfs_period_us" ) + cfs_quota=$(cat "$cpuroot/cpu.cfs_quota_us") + cfs_period=$(cat "$cpuroot/cpu.cfs_period_us") [ "$cfs_quota" = "-1" ] && return 1 [ "$cfs_period" = "0" ] && return 1 - ncpu=$( ceildiv "$cfs_quota" "$cfs_period" ) + ncpu=$(ceildiv "$cfs_quota" "$cfs_period") [ "$ncpu" -gt 0 ] || return 1 echo "$ncpu" } @@ -54,11 +57,11 @@ get_quota_v2() { cpuroot=$1 ncpu=0 [ -f "$cpuroot/cpu.max" ] || return 1 - cfs_quota=$( cut -d' ' -f 1 < "$cpuroot/cpu.max" ) - cfs_period=$( cut -d' ' -f 2 < "$cpuroot/cpu.max" ) + cfs_quota=$(cut -d' ' -f 1 <"$cpuroot/cpu.max") + cfs_period=$(cut -d' ' -f 2 <"$cpuroot/cpu.max") [ "$cfs_quota" = "max" ] && return 1 [ "$cfs_period" = "0" ] && return 1 - ncpu=$( ceildiv "$cfs_quota" "$cfs_period" ) + ncpu=$(ceildiv "$cfs_quota" "$cfs_period") [ "$ncpu" -gt 0 ] || return 1 echo "$ncpu" } @@ -74,59 +77,59 @@ get_cgroup_v1_path() { while IFS= read -r line; do case "$needle" in - "cpuset") - case "$line" in - *cpuset*) - found=$( echo "$line" | cut -d ' ' -f 4,5 ) - break - ;; - esac + "cpuset") + case "$line" in + *cpuset*) + found=$(echo "$line" | cut -d ' ' -f 4,5) + break + ;; + esac + ;; + "cpu") + case "$line" in + *cpuset*) ;; + *cpu,cpuacct* | *cpuacct,cpu | *cpuacct* | *cpu*) + found=$(echo "$line" | cut -d ' ' -f 4,5) + break ;; - "cpu") - case "$line" in - *cpuset*) - ;; - *cpu,cpuacct*|*cpuacct,cpu|*cpuacct*|*cpu*) - found=$( echo "$line" | cut -d ' ' -f 4,5 ) - break - ;; - esac + esac + ;; esac - done << __EOF__ -$( grep -F -- '- cgroup ' /proc/self/mountinfo ) + done <<__EOF__ +$(grep -F -- '- cgroup ' /proc/self/mountinfo) __EOF__ while IFS= read -r line; do - controller=$( echo "$line" | cut -d: -f 2 ) + controller=$(echo "$line" | cut -d: -f 2) case "$needle" in - "cpuset") - case "$controller" in - cpuset) - mountpoint=$( echo "$line" | cut -d: -f 3 ) - break - ;; - esac + "cpuset") + case "$controller" in + cpuset) + mountpoint=$(echo "$line" | cut -d: -f 3) + break ;; - "cpu") - case "$controller" in - cpu,cpuacct|cpuacct,cpu|cpuacct|cpu) - mountpoint=$( echo "$line" | cut -d: -f 3 ) - break - ;; - esac + esac + ;; + "cpu") + case "$controller" in + cpu,cpuacct | cpuacct,cpu | cpuacct | cpu) + mountpoint=$(echo "$line" | cut -d: -f 3) + break ;; + esac + ;; esac -done << __EOF__ -$( grep -F -- 'cpu' /proc/self/cgroup ) + done <<__EOF__ +$(grep -F -- 'cpu' /proc/self/cgroup) __EOF__ case "${found%% *}" in - "/") - foundroot="${found##* }$mountpoint" - ;; - "$mountpoint") - foundroot="${found##* }" - ;; + "/") + foundroot="${found##* }$mountpoint" + ;; + "$mountpoint") + foundroot="${found##* }" + ;; esac echo "$foundroot" } @@ -140,49 +143,49 @@ get_cgroup_v2_path() { [ -r "/proc/self/cgroup" ] || return 1 while IFS= read -r line; do - found=$( echo "$line" | cut -d ' ' -f 4,5 ) - done << __EOF__ -$( grep -F -- '- cgroup2 ' /proc/self/mountinfo ) + found=$(echo "$line" | cut -d ' ' -f 4,5) + done <<__EOF__ +$(grep -F -- '- cgroup2 ' /proc/self/mountinfo) __EOF__ while IFS= read -r line; do - mountpoint=$( echo "$line" | cut -d: -f 3 ) -done << __EOF__ -$( grep -F -- '0::' /proc/self/cgroup ) + mountpoint=$(echo "$line" | cut -d: -f 3) + done <<__EOF__ +$(grep -F -- '0::' /proc/self/cgroup) __EOF__ case "${found%% *}" in - "") - return 1 - ;; - "/") - foundroot="${found##* }$mountpoint" - ;; - "$mountpoint" | /../*) - foundroot="${found##* }" - ;; + "") + return 1 + ;; + "/") + foundroot="${found##* }$mountpoint" + ;; + "$mountpoint" | /../*) + foundroot="${found##* }" + ;; esac echo "$foundroot" } -ncpu_online=$( getconf _NPROCESSORS_ONLN ) +ncpu_online=$(getconf _NPROCESSORS_ONLN) ncpu_cpuset= ncpu_quota= ncpu_cpuset_v2= ncpu_quota_v2= -cpuset=$( get_cgroup_v1_path "cpuset" ) && ncpu_cpuset=$( get_cpuset "$cpuset" "cpuset.effective_cpus" ) || ncpu_cpuset=$ncpu_online -cpu=$( get_cgroup_v1_path "cpu" ) && ncpu_quota=$( get_quota "$cpu" ) || ncpu_quota=$ncpu_online -cgroup_v2=$( get_cgroup_v2_path ) && ncpu_cpuset_v2=$( get_cpuset "$cgroup_v2" "cpuset.cpus.effective" ) || ncpu_cpuset_v2=$ncpu_online -cgroup_v2=$( get_cgroup_v2_path ) && ncpu_quota_v2=$( get_quota_v2 "$cgroup_v2" ) || ncpu_quota_v2=$ncpu_online - -ncpu=$( printf "%s\n%s\n%s\n%s\n%s\n" \ - "$ncpu_online" \ - "$ncpu_cpuset" \ - "$ncpu_quota" \ - "$ncpu_cpuset_v2" \ - "$ncpu_quota_v2" \ - | sort -n \ - | head -n 1 ) +cpuset=$(get_cgroup_v1_path "cpuset") && ncpu_cpuset=$(get_cpuset "$cpuset" "cpuset.effective_cpus") || ncpu_cpuset=$ncpu_online +cpu=$(get_cgroup_v1_path "cpu") && ncpu_quota=$(get_quota "$cpu") || ncpu_quota=$ncpu_online +cgroup_v2=$(get_cgroup_v2_path) && ncpu_cpuset_v2=$(get_cpuset "$cgroup_v2" "cpuset.cpus.effective") || ncpu_cpuset_v2=$ncpu_online +cgroup_v2=$(get_cgroup_v2_path) && ncpu_quota_v2=$(get_quota_v2 "$cgroup_v2") || ncpu_quota_v2=$ncpu_online + +ncpu=$(printf "%s\n%s\n%s\n%s\n%s\n" \ + "$ncpu_online" \ + "$ncpu_cpuset" \ + "$ncpu_quota" \ + "$ncpu_cpuset_v2" \ + "$ncpu_quota_v2" | + sort -n | + head -n 1) sed -i.bak -r 's/^(worker_processes)(.*)$/# Commented out by '"$ME"' on '"$(date)"'\n#\1\2\n\1 '"$ncpu"';/' /etc/nginx/nginx.conf diff --git a/mainline/alpine-slim/docker-entrypoint.sh b/mainline/alpine-slim/docker-entrypoint.sh index a9f119a0..943656ff 100755 --- a/mainline/alpine-slim/docker-entrypoint.sh +++ b/mainline/alpine-slim/docker-entrypoint.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -e diff --git a/mainline/debian/10-listen-on-ipv6-by-default.sh b/mainline/debian/10-listen-on-ipv6-by-default.sh index f5441f42..f64d8cf6 100755 --- a/mainline/debian/10-listen-on-ipv6-by-default.sh +++ b/mainline/debian/10-listen-on-ipv6-by-default.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -e @@ -9,7 +9,7 @@ entrypoint_log() { fi } -ME=$(basename $0) +ME=$(basename "$0") DEFAULT_CONF_FILE="etc/nginx/conf.d/default.conf" # check if we have ipv6 available @@ -24,10 +24,16 @@ if [ ! -f "/$DEFAULT_CONF_FILE" ]; then fi # check if the file can be modified, e.g. not on a r/o filesystem -touch /$DEFAULT_CONF_FILE 2>/dev/null || { entrypoint_log "$ME: info: Cannot modify /$DEFAULT_CONF_FILE (read-only file system?)"; exit 0; } +touch /$DEFAULT_CONF_FILE 2>/dev/null || { + entrypoint_log "$ME: info: Cannot modify /$DEFAULT_CONF_FILE (read-only file system?)" + exit 0 +} # check if the file is already modified, e.g. on a container restart -grep -q "listen \[::]\:80;" /$DEFAULT_CONF_FILE && { entrypoint_log "$ME: info: Listen on IPv6 is already enabled"; exit 0; } +grep -q "listen \[::]\:80;" /$DEFAULT_CONF_FILE && { + entrypoint_log "$ME: info: Listen on IPv6 is already enabled" + exit 0 +} if [ -f "/etc/os-release" ]; then . /etc/os-release @@ -39,24 +45,24 @@ fi entrypoint_log "$ME: info: Getting the checksum of /$DEFAULT_CONF_FILE" case "$ID" in - "debian") - CHECKSUM=$(dpkg-query --show --showformat='${Conffiles}\n' nginx | grep $DEFAULT_CONF_FILE | cut -d' ' -f 3) - echo "$CHECKSUM /$DEFAULT_CONF_FILE" | md5sum -c - >/dev/null 2>&1 || { - entrypoint_log "$ME: info: /$DEFAULT_CONF_FILE differs from the packaged version" - exit 0 - } - ;; - "alpine") - CHECKSUM=$(apk manifest nginx 2>/dev/null| grep $DEFAULT_CONF_FILE | cut -d' ' -f 1 | cut -d ':' -f 2) - echo "$CHECKSUM /$DEFAULT_CONF_FILE" | sha1sum -c - >/dev/null 2>&1 || { - entrypoint_log "$ME: info: /$DEFAULT_CONF_FILE differs from the packaged version" - exit 0 - } - ;; - *) - entrypoint_log "$ME: info: Unsupported distribution" +"debian") + CHECKSUM=$(dpkg-query --show --showformat='${Conffiles}\n' nginx | grep $DEFAULT_CONF_FILE | cut -d' ' -f 3) + echo "$CHECKSUM /$DEFAULT_CONF_FILE" | md5sum -c - >/dev/null 2>&1 || { + entrypoint_log "$ME: info: /$DEFAULT_CONF_FILE differs from the packaged version" + exit 0 + } + ;; +"alpine") + CHECKSUM=$(apk manifest nginx 2>/dev/null | grep $DEFAULT_CONF_FILE | cut -d' ' -f 1 | cut -d ':' -f 2) + echo "$CHECKSUM /$DEFAULT_CONF_FILE" | sha1sum -c - >/dev/null 2>&1 || { + entrypoint_log "$ME: info: /$DEFAULT_CONF_FILE differs from the packaged version" exit 0 - ;; + } + ;; +*) + entrypoint_log "$ME: info: Unsupported distribution" + exit 0 + ;; esac # enable ipv6 on default.conf listen sockets diff --git a/mainline/debian/15-local-resolvers.envsh b/mainline/debian/15-local-resolvers.envsh index c39e7842..d3beae9c 100755 --- a/mainline/debian/15-local-resolvers.envsh +++ b/mainline/debian/15-local-resolvers.envsh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -eu diff --git a/mainline/debian/20-envsubst-on-templates.sh b/mainline/debian/20-envsubst-on-templates.sh index b095adb7..64dacd34 100755 --- a/mainline/debian/20-envsubst-on-templates.sh +++ b/mainline/debian/20-envsubst-on-templates.sh @@ -1,9 +1,9 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -e -ME=$(basename $0) +ME=$(basename "$0") entrypoint_log() { if [ -z "${NGINX_ENTRYPOINT_QUIET_LOGS:-}" ]; then diff --git a/mainline/debian/30-tune-worker-processes.sh b/mainline/debian/30-tune-worker-processes.sh index 165ec7a2..fdae66be 100755 --- a/mainline/debian/30-tune-worker-processes.sh +++ b/mainline/debian/30-tune-worker-processes.sh @@ -1,20 +1,23 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -eu LC_ALL=C -ME=$( basename "$0" ) +ME=$(basename "$0") PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin [ "${NGINX_ENTRYPOINT_WORKER_PROCESSES_AUTOTUNE:-}" ] || exit 0 -touch /etc/nginx/nginx.conf 2>/dev/null || { echo >&2 "$ME: ERROR: Cannot modify /etc/nginx/nginx.conf (read-only file system?)"; exit 0; } +touch /etc/nginx/nginx.conf 2>/dev/null || { + echo >&2 "$ME: ERROR: Cannot modify /etc/nginx/nginx.conf (read-only file system?)" + exit 0 +} ceildiv() { num=$1 div=$2 - echo $(( (num + div - 1) / div )) + echo $(((num + div - 1) / div)) } get_cpuset() { @@ -22,15 +25,15 @@ get_cpuset() { cpusetfile=$2 ncpu=0 [ -f "$cpusetroot/$cpusetfile" ] || return 1 - for token in $( tr ',' ' ' < "$cpusetroot/$cpusetfile" ); do + for token in $(tr ',' ' ' <"$cpusetroot/$cpusetfile"); do case "$token" in - *-*) - count=$( seq "$(echo "$token" | tr '-' ' ')" | wc -l ) - ncpu=$(( ncpu+count )) - ;; - *) - ncpu=$(( ncpu+1 )) - ;; + *-*) + count=$(seq "$(echo "$token" | tr '-' ' ')" | wc -l) + ncpu=$((ncpu + count)) + ;; + *) + ncpu=$((ncpu + 1)) + ;; esac done echo "$ncpu" @@ -41,11 +44,11 @@ get_quota() { ncpu=0 [ -f "$cpuroot/cpu.cfs_quota_us" ] || return 1 [ -f "$cpuroot/cpu.cfs_period_us" ] || return 1 - cfs_quota=$( cat "$cpuroot/cpu.cfs_quota_us" ) - cfs_period=$( cat "$cpuroot/cpu.cfs_period_us" ) + cfs_quota=$(cat "$cpuroot/cpu.cfs_quota_us") + cfs_period=$(cat "$cpuroot/cpu.cfs_period_us") [ "$cfs_quota" = "-1" ] && return 1 [ "$cfs_period" = "0" ] && return 1 - ncpu=$( ceildiv "$cfs_quota" "$cfs_period" ) + ncpu=$(ceildiv "$cfs_quota" "$cfs_period") [ "$ncpu" -gt 0 ] || return 1 echo "$ncpu" } @@ -54,11 +57,11 @@ get_quota_v2() { cpuroot=$1 ncpu=0 [ -f "$cpuroot/cpu.max" ] || return 1 - cfs_quota=$( cut -d' ' -f 1 < "$cpuroot/cpu.max" ) - cfs_period=$( cut -d' ' -f 2 < "$cpuroot/cpu.max" ) + cfs_quota=$(cut -d' ' -f 1 <"$cpuroot/cpu.max") + cfs_period=$(cut -d' ' -f 2 <"$cpuroot/cpu.max") [ "$cfs_quota" = "max" ] && return 1 [ "$cfs_period" = "0" ] && return 1 - ncpu=$( ceildiv "$cfs_quota" "$cfs_period" ) + ncpu=$(ceildiv "$cfs_quota" "$cfs_period") [ "$ncpu" -gt 0 ] || return 1 echo "$ncpu" } @@ -74,59 +77,59 @@ get_cgroup_v1_path() { while IFS= read -r line; do case "$needle" in - "cpuset") - case "$line" in - *cpuset*) - found=$( echo "$line" | cut -d ' ' -f 4,5 ) - break - ;; - esac + "cpuset") + case "$line" in + *cpuset*) + found=$(echo "$line" | cut -d ' ' -f 4,5) + break + ;; + esac + ;; + "cpu") + case "$line" in + *cpuset*) ;; + *cpu,cpuacct* | *cpuacct,cpu | *cpuacct* | *cpu*) + found=$(echo "$line" | cut -d ' ' -f 4,5) + break ;; - "cpu") - case "$line" in - *cpuset*) - ;; - *cpu,cpuacct*|*cpuacct,cpu|*cpuacct*|*cpu*) - found=$( echo "$line" | cut -d ' ' -f 4,5 ) - break - ;; - esac + esac + ;; esac - done << __EOF__ -$( grep -F -- '- cgroup ' /proc/self/mountinfo ) + done <<__EOF__ +$(grep -F -- '- cgroup ' /proc/self/mountinfo) __EOF__ while IFS= read -r line; do - controller=$( echo "$line" | cut -d: -f 2 ) + controller=$(echo "$line" | cut -d: -f 2) case "$needle" in - "cpuset") - case "$controller" in - cpuset) - mountpoint=$( echo "$line" | cut -d: -f 3 ) - break - ;; - esac + "cpuset") + case "$controller" in + cpuset) + mountpoint=$(echo "$line" | cut -d: -f 3) + break ;; - "cpu") - case "$controller" in - cpu,cpuacct|cpuacct,cpu|cpuacct|cpu) - mountpoint=$( echo "$line" | cut -d: -f 3 ) - break - ;; - esac + esac + ;; + "cpu") + case "$controller" in + cpu,cpuacct | cpuacct,cpu | cpuacct | cpu) + mountpoint=$(echo "$line" | cut -d: -f 3) + break ;; + esac + ;; esac -done << __EOF__ -$( grep -F -- 'cpu' /proc/self/cgroup ) + done <<__EOF__ +$(grep -F -- 'cpu' /proc/self/cgroup) __EOF__ case "${found%% *}" in - "/") - foundroot="${found##* }$mountpoint" - ;; - "$mountpoint") - foundroot="${found##* }" - ;; + "/") + foundroot="${found##* }$mountpoint" + ;; + "$mountpoint") + foundroot="${found##* }" + ;; esac echo "$foundroot" } @@ -140,49 +143,49 @@ get_cgroup_v2_path() { [ -r "/proc/self/cgroup" ] || return 1 while IFS= read -r line; do - found=$( echo "$line" | cut -d ' ' -f 4,5 ) - done << __EOF__ -$( grep -F -- '- cgroup2 ' /proc/self/mountinfo ) + found=$(echo "$line" | cut -d ' ' -f 4,5) + done <<__EOF__ +$(grep -F -- '- cgroup2 ' /proc/self/mountinfo) __EOF__ while IFS= read -r line; do - mountpoint=$( echo "$line" | cut -d: -f 3 ) -done << __EOF__ -$( grep -F -- '0::' /proc/self/cgroup ) + mountpoint=$(echo "$line" | cut -d: -f 3) + done <<__EOF__ +$(grep -F -- '0::' /proc/self/cgroup) __EOF__ case "${found%% *}" in - "") - return 1 - ;; - "/") - foundroot="${found##* }$mountpoint" - ;; - "$mountpoint" | /../*) - foundroot="${found##* }" - ;; + "") + return 1 + ;; + "/") + foundroot="${found##* }$mountpoint" + ;; + "$mountpoint" | /../*) + foundroot="${found##* }" + ;; esac echo "$foundroot" } -ncpu_online=$( getconf _NPROCESSORS_ONLN ) +ncpu_online=$(getconf _NPROCESSORS_ONLN) ncpu_cpuset= ncpu_quota= ncpu_cpuset_v2= ncpu_quota_v2= -cpuset=$( get_cgroup_v1_path "cpuset" ) && ncpu_cpuset=$( get_cpuset "$cpuset" "cpuset.effective_cpus" ) || ncpu_cpuset=$ncpu_online -cpu=$( get_cgroup_v1_path "cpu" ) && ncpu_quota=$( get_quota "$cpu" ) || ncpu_quota=$ncpu_online -cgroup_v2=$( get_cgroup_v2_path ) && ncpu_cpuset_v2=$( get_cpuset "$cgroup_v2" "cpuset.cpus.effective" ) || ncpu_cpuset_v2=$ncpu_online -cgroup_v2=$( get_cgroup_v2_path ) && ncpu_quota_v2=$( get_quota_v2 "$cgroup_v2" ) || ncpu_quota_v2=$ncpu_online - -ncpu=$( printf "%s\n%s\n%s\n%s\n%s\n" \ - "$ncpu_online" \ - "$ncpu_cpuset" \ - "$ncpu_quota" \ - "$ncpu_cpuset_v2" \ - "$ncpu_quota_v2" \ - | sort -n \ - | head -n 1 ) +cpuset=$(get_cgroup_v1_path "cpuset") && ncpu_cpuset=$(get_cpuset "$cpuset" "cpuset.effective_cpus") || ncpu_cpuset=$ncpu_online +cpu=$(get_cgroup_v1_path "cpu") && ncpu_quota=$(get_quota "$cpu") || ncpu_quota=$ncpu_online +cgroup_v2=$(get_cgroup_v2_path) && ncpu_cpuset_v2=$(get_cpuset "$cgroup_v2" "cpuset.cpus.effective") || ncpu_cpuset_v2=$ncpu_online +cgroup_v2=$(get_cgroup_v2_path) && ncpu_quota_v2=$(get_quota_v2 "$cgroup_v2") || ncpu_quota_v2=$ncpu_online + +ncpu=$(printf "%s\n%s\n%s\n%s\n%s\n" \ + "$ncpu_online" \ + "$ncpu_cpuset" \ + "$ncpu_quota" \ + "$ncpu_cpuset_v2" \ + "$ncpu_quota_v2" | + sort -n | + head -n 1) sed -i.bak -r 's/^(worker_processes)(.*)$/# Commented out by '"$ME"' on '"$(date)"'\n#\1\2\n\1 '"$ncpu"';/' /etc/nginx/nginx.conf diff --git a/mainline/debian/docker-entrypoint.sh b/mainline/debian/docker-entrypoint.sh index a9f119a0..943656ff 100755 --- a/mainline/debian/docker-entrypoint.sh +++ b/mainline/debian/docker-entrypoint.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -e diff --git a/stable/alpine-slim/10-listen-on-ipv6-by-default.sh b/stable/alpine-slim/10-listen-on-ipv6-by-default.sh index f5441f42..f64d8cf6 100755 --- a/stable/alpine-slim/10-listen-on-ipv6-by-default.sh +++ b/stable/alpine-slim/10-listen-on-ipv6-by-default.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -e @@ -9,7 +9,7 @@ entrypoint_log() { fi } -ME=$(basename $0) +ME=$(basename "$0") DEFAULT_CONF_FILE="etc/nginx/conf.d/default.conf" # check if we have ipv6 available @@ -24,10 +24,16 @@ if [ ! -f "/$DEFAULT_CONF_FILE" ]; then fi # check if the file can be modified, e.g. not on a r/o filesystem -touch /$DEFAULT_CONF_FILE 2>/dev/null || { entrypoint_log "$ME: info: Cannot modify /$DEFAULT_CONF_FILE (read-only file system?)"; exit 0; } +touch /$DEFAULT_CONF_FILE 2>/dev/null || { + entrypoint_log "$ME: info: Cannot modify /$DEFAULT_CONF_FILE (read-only file system?)" + exit 0 +} # check if the file is already modified, e.g. on a container restart -grep -q "listen \[::]\:80;" /$DEFAULT_CONF_FILE && { entrypoint_log "$ME: info: Listen on IPv6 is already enabled"; exit 0; } +grep -q "listen \[::]\:80;" /$DEFAULT_CONF_FILE && { + entrypoint_log "$ME: info: Listen on IPv6 is already enabled" + exit 0 +} if [ -f "/etc/os-release" ]; then . /etc/os-release @@ -39,24 +45,24 @@ fi entrypoint_log "$ME: info: Getting the checksum of /$DEFAULT_CONF_FILE" case "$ID" in - "debian") - CHECKSUM=$(dpkg-query --show --showformat='${Conffiles}\n' nginx | grep $DEFAULT_CONF_FILE | cut -d' ' -f 3) - echo "$CHECKSUM /$DEFAULT_CONF_FILE" | md5sum -c - >/dev/null 2>&1 || { - entrypoint_log "$ME: info: /$DEFAULT_CONF_FILE differs from the packaged version" - exit 0 - } - ;; - "alpine") - CHECKSUM=$(apk manifest nginx 2>/dev/null| grep $DEFAULT_CONF_FILE | cut -d' ' -f 1 | cut -d ':' -f 2) - echo "$CHECKSUM /$DEFAULT_CONF_FILE" | sha1sum -c - >/dev/null 2>&1 || { - entrypoint_log "$ME: info: /$DEFAULT_CONF_FILE differs from the packaged version" - exit 0 - } - ;; - *) - entrypoint_log "$ME: info: Unsupported distribution" +"debian") + CHECKSUM=$(dpkg-query --show --showformat='${Conffiles}\n' nginx | grep $DEFAULT_CONF_FILE | cut -d' ' -f 3) + echo "$CHECKSUM /$DEFAULT_CONF_FILE" | md5sum -c - >/dev/null 2>&1 || { + entrypoint_log "$ME: info: /$DEFAULT_CONF_FILE differs from the packaged version" + exit 0 + } + ;; +"alpine") + CHECKSUM=$(apk manifest nginx 2>/dev/null | grep $DEFAULT_CONF_FILE | cut -d' ' -f 1 | cut -d ':' -f 2) + echo "$CHECKSUM /$DEFAULT_CONF_FILE" | sha1sum -c - >/dev/null 2>&1 || { + entrypoint_log "$ME: info: /$DEFAULT_CONF_FILE differs from the packaged version" exit 0 - ;; + } + ;; +*) + entrypoint_log "$ME: info: Unsupported distribution" + exit 0 + ;; esac # enable ipv6 on default.conf listen sockets diff --git a/stable/alpine-slim/15-local-resolvers.envsh b/stable/alpine-slim/15-local-resolvers.envsh index c39e7842..d3beae9c 100755 --- a/stable/alpine-slim/15-local-resolvers.envsh +++ b/stable/alpine-slim/15-local-resolvers.envsh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -eu diff --git a/stable/alpine-slim/20-envsubst-on-templates.sh b/stable/alpine-slim/20-envsubst-on-templates.sh index b095adb7..64dacd34 100755 --- a/stable/alpine-slim/20-envsubst-on-templates.sh +++ b/stable/alpine-slim/20-envsubst-on-templates.sh @@ -1,9 +1,9 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -e -ME=$(basename $0) +ME=$(basename "$0") entrypoint_log() { if [ -z "${NGINX_ENTRYPOINT_QUIET_LOGS:-}" ]; then diff --git a/stable/alpine-slim/30-tune-worker-processes.sh b/stable/alpine-slim/30-tune-worker-processes.sh index 165ec7a2..fdae66be 100755 --- a/stable/alpine-slim/30-tune-worker-processes.sh +++ b/stable/alpine-slim/30-tune-worker-processes.sh @@ -1,20 +1,23 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -eu LC_ALL=C -ME=$( basename "$0" ) +ME=$(basename "$0") PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin [ "${NGINX_ENTRYPOINT_WORKER_PROCESSES_AUTOTUNE:-}" ] || exit 0 -touch /etc/nginx/nginx.conf 2>/dev/null || { echo >&2 "$ME: ERROR: Cannot modify /etc/nginx/nginx.conf (read-only file system?)"; exit 0; } +touch /etc/nginx/nginx.conf 2>/dev/null || { + echo >&2 "$ME: ERROR: Cannot modify /etc/nginx/nginx.conf (read-only file system?)" + exit 0 +} ceildiv() { num=$1 div=$2 - echo $(( (num + div - 1) / div )) + echo $(((num + div - 1) / div)) } get_cpuset() { @@ -22,15 +25,15 @@ get_cpuset() { cpusetfile=$2 ncpu=0 [ -f "$cpusetroot/$cpusetfile" ] || return 1 - for token in $( tr ',' ' ' < "$cpusetroot/$cpusetfile" ); do + for token in $(tr ',' ' ' <"$cpusetroot/$cpusetfile"); do case "$token" in - *-*) - count=$( seq "$(echo "$token" | tr '-' ' ')" | wc -l ) - ncpu=$(( ncpu+count )) - ;; - *) - ncpu=$(( ncpu+1 )) - ;; + *-*) + count=$(seq "$(echo "$token" | tr '-' ' ')" | wc -l) + ncpu=$((ncpu + count)) + ;; + *) + ncpu=$((ncpu + 1)) + ;; esac done echo "$ncpu" @@ -41,11 +44,11 @@ get_quota() { ncpu=0 [ -f "$cpuroot/cpu.cfs_quota_us" ] || return 1 [ -f "$cpuroot/cpu.cfs_period_us" ] || return 1 - cfs_quota=$( cat "$cpuroot/cpu.cfs_quota_us" ) - cfs_period=$( cat "$cpuroot/cpu.cfs_period_us" ) + cfs_quota=$(cat "$cpuroot/cpu.cfs_quota_us") + cfs_period=$(cat "$cpuroot/cpu.cfs_period_us") [ "$cfs_quota" = "-1" ] && return 1 [ "$cfs_period" = "0" ] && return 1 - ncpu=$( ceildiv "$cfs_quota" "$cfs_period" ) + ncpu=$(ceildiv "$cfs_quota" "$cfs_period") [ "$ncpu" -gt 0 ] || return 1 echo "$ncpu" } @@ -54,11 +57,11 @@ get_quota_v2() { cpuroot=$1 ncpu=0 [ -f "$cpuroot/cpu.max" ] || return 1 - cfs_quota=$( cut -d' ' -f 1 < "$cpuroot/cpu.max" ) - cfs_period=$( cut -d' ' -f 2 < "$cpuroot/cpu.max" ) + cfs_quota=$(cut -d' ' -f 1 <"$cpuroot/cpu.max") + cfs_period=$(cut -d' ' -f 2 <"$cpuroot/cpu.max") [ "$cfs_quota" = "max" ] && return 1 [ "$cfs_period" = "0" ] && return 1 - ncpu=$( ceildiv "$cfs_quota" "$cfs_period" ) + ncpu=$(ceildiv "$cfs_quota" "$cfs_period") [ "$ncpu" -gt 0 ] || return 1 echo "$ncpu" } @@ -74,59 +77,59 @@ get_cgroup_v1_path() { while IFS= read -r line; do case "$needle" in - "cpuset") - case "$line" in - *cpuset*) - found=$( echo "$line" | cut -d ' ' -f 4,5 ) - break - ;; - esac + "cpuset") + case "$line" in + *cpuset*) + found=$(echo "$line" | cut -d ' ' -f 4,5) + break + ;; + esac + ;; + "cpu") + case "$line" in + *cpuset*) ;; + *cpu,cpuacct* | *cpuacct,cpu | *cpuacct* | *cpu*) + found=$(echo "$line" | cut -d ' ' -f 4,5) + break ;; - "cpu") - case "$line" in - *cpuset*) - ;; - *cpu,cpuacct*|*cpuacct,cpu|*cpuacct*|*cpu*) - found=$( echo "$line" | cut -d ' ' -f 4,5 ) - break - ;; - esac + esac + ;; esac - done << __EOF__ -$( grep -F -- '- cgroup ' /proc/self/mountinfo ) + done <<__EOF__ +$(grep -F -- '- cgroup ' /proc/self/mountinfo) __EOF__ while IFS= read -r line; do - controller=$( echo "$line" | cut -d: -f 2 ) + controller=$(echo "$line" | cut -d: -f 2) case "$needle" in - "cpuset") - case "$controller" in - cpuset) - mountpoint=$( echo "$line" | cut -d: -f 3 ) - break - ;; - esac + "cpuset") + case "$controller" in + cpuset) + mountpoint=$(echo "$line" | cut -d: -f 3) + break ;; - "cpu") - case "$controller" in - cpu,cpuacct|cpuacct,cpu|cpuacct|cpu) - mountpoint=$( echo "$line" | cut -d: -f 3 ) - break - ;; - esac + esac + ;; + "cpu") + case "$controller" in + cpu,cpuacct | cpuacct,cpu | cpuacct | cpu) + mountpoint=$(echo "$line" | cut -d: -f 3) + break ;; + esac + ;; esac -done << __EOF__ -$( grep -F -- 'cpu' /proc/self/cgroup ) + done <<__EOF__ +$(grep -F -- 'cpu' /proc/self/cgroup) __EOF__ case "${found%% *}" in - "/") - foundroot="${found##* }$mountpoint" - ;; - "$mountpoint") - foundroot="${found##* }" - ;; + "/") + foundroot="${found##* }$mountpoint" + ;; + "$mountpoint") + foundroot="${found##* }" + ;; esac echo "$foundroot" } @@ -140,49 +143,49 @@ get_cgroup_v2_path() { [ -r "/proc/self/cgroup" ] || return 1 while IFS= read -r line; do - found=$( echo "$line" | cut -d ' ' -f 4,5 ) - done << __EOF__ -$( grep -F -- '- cgroup2 ' /proc/self/mountinfo ) + found=$(echo "$line" | cut -d ' ' -f 4,5) + done <<__EOF__ +$(grep -F -- '- cgroup2 ' /proc/self/mountinfo) __EOF__ while IFS= read -r line; do - mountpoint=$( echo "$line" | cut -d: -f 3 ) -done << __EOF__ -$( grep -F -- '0::' /proc/self/cgroup ) + mountpoint=$(echo "$line" | cut -d: -f 3) + done <<__EOF__ +$(grep -F -- '0::' /proc/self/cgroup) __EOF__ case "${found%% *}" in - "") - return 1 - ;; - "/") - foundroot="${found##* }$mountpoint" - ;; - "$mountpoint" | /../*) - foundroot="${found##* }" - ;; + "") + return 1 + ;; + "/") + foundroot="${found##* }$mountpoint" + ;; + "$mountpoint" | /../*) + foundroot="${found##* }" + ;; esac echo "$foundroot" } -ncpu_online=$( getconf _NPROCESSORS_ONLN ) +ncpu_online=$(getconf _NPROCESSORS_ONLN) ncpu_cpuset= ncpu_quota= ncpu_cpuset_v2= ncpu_quota_v2= -cpuset=$( get_cgroup_v1_path "cpuset" ) && ncpu_cpuset=$( get_cpuset "$cpuset" "cpuset.effective_cpus" ) || ncpu_cpuset=$ncpu_online -cpu=$( get_cgroup_v1_path "cpu" ) && ncpu_quota=$( get_quota "$cpu" ) || ncpu_quota=$ncpu_online -cgroup_v2=$( get_cgroup_v2_path ) && ncpu_cpuset_v2=$( get_cpuset "$cgroup_v2" "cpuset.cpus.effective" ) || ncpu_cpuset_v2=$ncpu_online -cgroup_v2=$( get_cgroup_v2_path ) && ncpu_quota_v2=$( get_quota_v2 "$cgroup_v2" ) || ncpu_quota_v2=$ncpu_online - -ncpu=$( printf "%s\n%s\n%s\n%s\n%s\n" \ - "$ncpu_online" \ - "$ncpu_cpuset" \ - "$ncpu_quota" \ - "$ncpu_cpuset_v2" \ - "$ncpu_quota_v2" \ - | sort -n \ - | head -n 1 ) +cpuset=$(get_cgroup_v1_path "cpuset") && ncpu_cpuset=$(get_cpuset "$cpuset" "cpuset.effective_cpus") || ncpu_cpuset=$ncpu_online +cpu=$(get_cgroup_v1_path "cpu") && ncpu_quota=$(get_quota "$cpu") || ncpu_quota=$ncpu_online +cgroup_v2=$(get_cgroup_v2_path) && ncpu_cpuset_v2=$(get_cpuset "$cgroup_v2" "cpuset.cpus.effective") || ncpu_cpuset_v2=$ncpu_online +cgroup_v2=$(get_cgroup_v2_path) && ncpu_quota_v2=$(get_quota_v2 "$cgroup_v2") || ncpu_quota_v2=$ncpu_online + +ncpu=$(printf "%s\n%s\n%s\n%s\n%s\n" \ + "$ncpu_online" \ + "$ncpu_cpuset" \ + "$ncpu_quota" \ + "$ncpu_cpuset_v2" \ + "$ncpu_quota_v2" | + sort -n | + head -n 1) sed -i.bak -r 's/^(worker_processes)(.*)$/# Commented out by '"$ME"' on '"$(date)"'\n#\1\2\n\1 '"$ncpu"';/' /etc/nginx/nginx.conf diff --git a/stable/alpine-slim/docker-entrypoint.sh b/stable/alpine-slim/docker-entrypoint.sh index a9f119a0..943656ff 100755 --- a/stable/alpine-slim/docker-entrypoint.sh +++ b/stable/alpine-slim/docker-entrypoint.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -e diff --git a/stable/debian/10-listen-on-ipv6-by-default.sh b/stable/debian/10-listen-on-ipv6-by-default.sh index f5441f42..f64d8cf6 100755 --- a/stable/debian/10-listen-on-ipv6-by-default.sh +++ b/stable/debian/10-listen-on-ipv6-by-default.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -e @@ -9,7 +9,7 @@ entrypoint_log() { fi } -ME=$(basename $0) +ME=$(basename "$0") DEFAULT_CONF_FILE="etc/nginx/conf.d/default.conf" # check if we have ipv6 available @@ -24,10 +24,16 @@ if [ ! -f "/$DEFAULT_CONF_FILE" ]; then fi # check if the file can be modified, e.g. not on a r/o filesystem -touch /$DEFAULT_CONF_FILE 2>/dev/null || { entrypoint_log "$ME: info: Cannot modify /$DEFAULT_CONF_FILE (read-only file system?)"; exit 0; } +touch /$DEFAULT_CONF_FILE 2>/dev/null || { + entrypoint_log "$ME: info: Cannot modify /$DEFAULT_CONF_FILE (read-only file system?)" + exit 0 +} # check if the file is already modified, e.g. on a container restart -grep -q "listen \[::]\:80;" /$DEFAULT_CONF_FILE && { entrypoint_log "$ME: info: Listen on IPv6 is already enabled"; exit 0; } +grep -q "listen \[::]\:80;" /$DEFAULT_CONF_FILE && { + entrypoint_log "$ME: info: Listen on IPv6 is already enabled" + exit 0 +} if [ -f "/etc/os-release" ]; then . /etc/os-release @@ -39,24 +45,24 @@ fi entrypoint_log "$ME: info: Getting the checksum of /$DEFAULT_CONF_FILE" case "$ID" in - "debian") - CHECKSUM=$(dpkg-query --show --showformat='${Conffiles}\n' nginx | grep $DEFAULT_CONF_FILE | cut -d' ' -f 3) - echo "$CHECKSUM /$DEFAULT_CONF_FILE" | md5sum -c - >/dev/null 2>&1 || { - entrypoint_log "$ME: info: /$DEFAULT_CONF_FILE differs from the packaged version" - exit 0 - } - ;; - "alpine") - CHECKSUM=$(apk manifest nginx 2>/dev/null| grep $DEFAULT_CONF_FILE | cut -d' ' -f 1 | cut -d ':' -f 2) - echo "$CHECKSUM /$DEFAULT_CONF_FILE" | sha1sum -c - >/dev/null 2>&1 || { - entrypoint_log "$ME: info: /$DEFAULT_CONF_FILE differs from the packaged version" - exit 0 - } - ;; - *) - entrypoint_log "$ME: info: Unsupported distribution" +"debian") + CHECKSUM=$(dpkg-query --show --showformat='${Conffiles}\n' nginx | grep $DEFAULT_CONF_FILE | cut -d' ' -f 3) + echo "$CHECKSUM /$DEFAULT_CONF_FILE" | md5sum -c - >/dev/null 2>&1 || { + entrypoint_log "$ME: info: /$DEFAULT_CONF_FILE differs from the packaged version" + exit 0 + } + ;; +"alpine") + CHECKSUM=$(apk manifest nginx 2>/dev/null | grep $DEFAULT_CONF_FILE | cut -d' ' -f 1 | cut -d ':' -f 2) + echo "$CHECKSUM /$DEFAULT_CONF_FILE" | sha1sum -c - >/dev/null 2>&1 || { + entrypoint_log "$ME: info: /$DEFAULT_CONF_FILE differs from the packaged version" exit 0 - ;; + } + ;; +*) + entrypoint_log "$ME: info: Unsupported distribution" + exit 0 + ;; esac # enable ipv6 on default.conf listen sockets diff --git a/stable/debian/15-local-resolvers.envsh b/stable/debian/15-local-resolvers.envsh index c39e7842..d3beae9c 100755 --- a/stable/debian/15-local-resolvers.envsh +++ b/stable/debian/15-local-resolvers.envsh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -eu diff --git a/stable/debian/20-envsubst-on-templates.sh b/stable/debian/20-envsubst-on-templates.sh index b095adb7..64dacd34 100755 --- a/stable/debian/20-envsubst-on-templates.sh +++ b/stable/debian/20-envsubst-on-templates.sh @@ -1,9 +1,9 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -e -ME=$(basename $0) +ME=$(basename "$0") entrypoint_log() { if [ -z "${NGINX_ENTRYPOINT_QUIET_LOGS:-}" ]; then diff --git a/stable/debian/30-tune-worker-processes.sh b/stable/debian/30-tune-worker-processes.sh index 165ec7a2..fdae66be 100755 --- a/stable/debian/30-tune-worker-processes.sh +++ b/stable/debian/30-tune-worker-processes.sh @@ -1,20 +1,23 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -eu LC_ALL=C -ME=$( basename "$0" ) +ME=$(basename "$0") PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin [ "${NGINX_ENTRYPOINT_WORKER_PROCESSES_AUTOTUNE:-}" ] || exit 0 -touch /etc/nginx/nginx.conf 2>/dev/null || { echo >&2 "$ME: ERROR: Cannot modify /etc/nginx/nginx.conf (read-only file system?)"; exit 0; } +touch /etc/nginx/nginx.conf 2>/dev/null || { + echo >&2 "$ME: ERROR: Cannot modify /etc/nginx/nginx.conf (read-only file system?)" + exit 0 +} ceildiv() { num=$1 div=$2 - echo $(( (num + div - 1) / div )) + echo $(((num + div - 1) / div)) } get_cpuset() { @@ -22,15 +25,15 @@ get_cpuset() { cpusetfile=$2 ncpu=0 [ -f "$cpusetroot/$cpusetfile" ] || return 1 - for token in $( tr ',' ' ' < "$cpusetroot/$cpusetfile" ); do + for token in $(tr ',' ' ' <"$cpusetroot/$cpusetfile"); do case "$token" in - *-*) - count=$( seq "$(echo "$token" | tr '-' ' ')" | wc -l ) - ncpu=$(( ncpu+count )) - ;; - *) - ncpu=$(( ncpu+1 )) - ;; + *-*) + count=$(seq "$(echo "$token" | tr '-' ' ')" | wc -l) + ncpu=$((ncpu + count)) + ;; + *) + ncpu=$((ncpu + 1)) + ;; esac done echo "$ncpu" @@ -41,11 +44,11 @@ get_quota() { ncpu=0 [ -f "$cpuroot/cpu.cfs_quota_us" ] || return 1 [ -f "$cpuroot/cpu.cfs_period_us" ] || return 1 - cfs_quota=$( cat "$cpuroot/cpu.cfs_quota_us" ) - cfs_period=$( cat "$cpuroot/cpu.cfs_period_us" ) + cfs_quota=$(cat "$cpuroot/cpu.cfs_quota_us") + cfs_period=$(cat "$cpuroot/cpu.cfs_period_us") [ "$cfs_quota" = "-1" ] && return 1 [ "$cfs_period" = "0" ] && return 1 - ncpu=$( ceildiv "$cfs_quota" "$cfs_period" ) + ncpu=$(ceildiv "$cfs_quota" "$cfs_period") [ "$ncpu" -gt 0 ] || return 1 echo "$ncpu" } @@ -54,11 +57,11 @@ get_quota_v2() { cpuroot=$1 ncpu=0 [ -f "$cpuroot/cpu.max" ] || return 1 - cfs_quota=$( cut -d' ' -f 1 < "$cpuroot/cpu.max" ) - cfs_period=$( cut -d' ' -f 2 < "$cpuroot/cpu.max" ) + cfs_quota=$(cut -d' ' -f 1 <"$cpuroot/cpu.max") + cfs_period=$(cut -d' ' -f 2 <"$cpuroot/cpu.max") [ "$cfs_quota" = "max" ] && return 1 [ "$cfs_period" = "0" ] && return 1 - ncpu=$( ceildiv "$cfs_quota" "$cfs_period" ) + ncpu=$(ceildiv "$cfs_quota" "$cfs_period") [ "$ncpu" -gt 0 ] || return 1 echo "$ncpu" } @@ -74,59 +77,59 @@ get_cgroup_v1_path() { while IFS= read -r line; do case "$needle" in - "cpuset") - case "$line" in - *cpuset*) - found=$( echo "$line" | cut -d ' ' -f 4,5 ) - break - ;; - esac + "cpuset") + case "$line" in + *cpuset*) + found=$(echo "$line" | cut -d ' ' -f 4,5) + break + ;; + esac + ;; + "cpu") + case "$line" in + *cpuset*) ;; + *cpu,cpuacct* | *cpuacct,cpu | *cpuacct* | *cpu*) + found=$(echo "$line" | cut -d ' ' -f 4,5) + break ;; - "cpu") - case "$line" in - *cpuset*) - ;; - *cpu,cpuacct*|*cpuacct,cpu|*cpuacct*|*cpu*) - found=$( echo "$line" | cut -d ' ' -f 4,5 ) - break - ;; - esac + esac + ;; esac - done << __EOF__ -$( grep -F -- '- cgroup ' /proc/self/mountinfo ) + done <<__EOF__ +$(grep -F -- '- cgroup ' /proc/self/mountinfo) __EOF__ while IFS= read -r line; do - controller=$( echo "$line" | cut -d: -f 2 ) + controller=$(echo "$line" | cut -d: -f 2) case "$needle" in - "cpuset") - case "$controller" in - cpuset) - mountpoint=$( echo "$line" | cut -d: -f 3 ) - break - ;; - esac + "cpuset") + case "$controller" in + cpuset) + mountpoint=$(echo "$line" | cut -d: -f 3) + break ;; - "cpu") - case "$controller" in - cpu,cpuacct|cpuacct,cpu|cpuacct|cpu) - mountpoint=$( echo "$line" | cut -d: -f 3 ) - break - ;; - esac + esac + ;; + "cpu") + case "$controller" in + cpu,cpuacct | cpuacct,cpu | cpuacct | cpu) + mountpoint=$(echo "$line" | cut -d: -f 3) + break ;; + esac + ;; esac -done << __EOF__ -$( grep -F -- 'cpu' /proc/self/cgroup ) + done <<__EOF__ +$(grep -F -- 'cpu' /proc/self/cgroup) __EOF__ case "${found%% *}" in - "/") - foundroot="${found##* }$mountpoint" - ;; - "$mountpoint") - foundroot="${found##* }" - ;; + "/") + foundroot="${found##* }$mountpoint" + ;; + "$mountpoint") + foundroot="${found##* }" + ;; esac echo "$foundroot" } @@ -140,49 +143,49 @@ get_cgroup_v2_path() { [ -r "/proc/self/cgroup" ] || return 1 while IFS= read -r line; do - found=$( echo "$line" | cut -d ' ' -f 4,5 ) - done << __EOF__ -$( grep -F -- '- cgroup2 ' /proc/self/mountinfo ) + found=$(echo "$line" | cut -d ' ' -f 4,5) + done <<__EOF__ +$(grep -F -- '- cgroup2 ' /proc/self/mountinfo) __EOF__ while IFS= read -r line; do - mountpoint=$( echo "$line" | cut -d: -f 3 ) -done << __EOF__ -$( grep -F -- '0::' /proc/self/cgroup ) + mountpoint=$(echo "$line" | cut -d: -f 3) + done <<__EOF__ +$(grep -F -- '0::' /proc/self/cgroup) __EOF__ case "${found%% *}" in - "") - return 1 - ;; - "/") - foundroot="${found##* }$mountpoint" - ;; - "$mountpoint" | /../*) - foundroot="${found##* }" - ;; + "") + return 1 + ;; + "/") + foundroot="${found##* }$mountpoint" + ;; + "$mountpoint" | /../*) + foundroot="${found##* }" + ;; esac echo "$foundroot" } -ncpu_online=$( getconf _NPROCESSORS_ONLN ) +ncpu_online=$(getconf _NPROCESSORS_ONLN) ncpu_cpuset= ncpu_quota= ncpu_cpuset_v2= ncpu_quota_v2= -cpuset=$( get_cgroup_v1_path "cpuset" ) && ncpu_cpuset=$( get_cpuset "$cpuset" "cpuset.effective_cpus" ) || ncpu_cpuset=$ncpu_online -cpu=$( get_cgroup_v1_path "cpu" ) && ncpu_quota=$( get_quota "$cpu" ) || ncpu_quota=$ncpu_online -cgroup_v2=$( get_cgroup_v2_path ) && ncpu_cpuset_v2=$( get_cpuset "$cgroup_v2" "cpuset.cpus.effective" ) || ncpu_cpuset_v2=$ncpu_online -cgroup_v2=$( get_cgroup_v2_path ) && ncpu_quota_v2=$( get_quota_v2 "$cgroup_v2" ) || ncpu_quota_v2=$ncpu_online - -ncpu=$( printf "%s\n%s\n%s\n%s\n%s\n" \ - "$ncpu_online" \ - "$ncpu_cpuset" \ - "$ncpu_quota" \ - "$ncpu_cpuset_v2" \ - "$ncpu_quota_v2" \ - | sort -n \ - | head -n 1 ) +cpuset=$(get_cgroup_v1_path "cpuset") && ncpu_cpuset=$(get_cpuset "$cpuset" "cpuset.effective_cpus") || ncpu_cpuset=$ncpu_online +cpu=$(get_cgroup_v1_path "cpu") && ncpu_quota=$(get_quota "$cpu") || ncpu_quota=$ncpu_online +cgroup_v2=$(get_cgroup_v2_path) && ncpu_cpuset_v2=$(get_cpuset "$cgroup_v2" "cpuset.cpus.effective") || ncpu_cpuset_v2=$ncpu_online +cgroup_v2=$(get_cgroup_v2_path) && ncpu_quota_v2=$(get_quota_v2 "$cgroup_v2") || ncpu_quota_v2=$ncpu_online + +ncpu=$(printf "%s\n%s\n%s\n%s\n%s\n" \ + "$ncpu_online" \ + "$ncpu_cpuset" \ + "$ncpu_quota" \ + "$ncpu_cpuset_v2" \ + "$ncpu_quota_v2" | + sort -n | + head -n 1) sed -i.bak -r 's/^(worker_processes)(.*)$/# Commented out by '"$ME"' on '"$(date)"'\n#\1\2\n\1 '"$ncpu"';/' /etc/nginx/nginx.conf diff --git a/stable/debian/docker-entrypoint.sh b/stable/debian/docker-entrypoint.sh index a9f119a0..943656ff 100755 --- a/stable/debian/docker-entrypoint.sh +++ b/stable/debian/docker-entrypoint.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env/sh +#!/bin/sh # vim:sw=2:ts=2:sts=2:et set -e