From 0a92f4fc46b0e00fcb12409bb8264088bb176aba Mon Sep 17 00:00:00 2001 From: Felipe Santos Date: Wed, 5 Jun 2024 15:02:06 -0300 Subject: [PATCH] Ensure nginx worker processes respects docker limits --- docker/main/Dockerfile | 3 +++ docker/main/rootfs/etc/s6-overlay/s6-rc.d/nginx/run | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docker/main/Dockerfile b/docker/main/Dockerfile index 15fb3b030..a88f318cf 100644 --- a/docker/main/Dockerfile +++ b/docker/main/Dockerfile @@ -30,6 +30,9 @@ RUN --mount=type=tmpfs,target=/tmp --mount=type=tmpfs,target=/var/cache/apt \ --mount=type=cache,target=/root/.ccache \ /deps/build_nginx.sh +# https://github.com/felipecrs/cgroup-scripts/commits/master/get_cpus.sh +ADD --link --chmod=755 "https://github.com/felipecrs/cgroup-scripts/raw/178c3ed0cb55465af6652fbd2b419573ccadea8a/get_cpus.sh" /usr/local/nginx/ + FROM scratch AS go2rtc ARG TARGETARCH WORKDIR /rootfs/usr/local/go2rtc/bin diff --git a/docker/main/rootfs/etc/s6-overlay/s6-rc.d/nginx/run b/docker/main/rootfs/etc/s6-overlay/s6-rc.d/nginx/run index 10d15aecc..5fe41bff4 100755 --- a/docker/main/rootfs/etc/s6-overlay/s6-rc.d/nginx/run +++ b/docker/main/rootfs/etc/s6-overlay/s6-rc.d/nginx/run @@ -12,8 +12,9 @@ function set_worker_processes() { # Capture number of assigned CPUs to calculate worker processes local proc_count - if proc_count=$(nproc --all) && [[ $proc_count -gt 4 ]]; then - proc_count=4; + proc_count=$(/usr/local/nginx/get_cpus.sh) + if [[ "$proc_count" -gt 4 ]]; then + proc_count=4 fi # we need to catch any errors because sed will fail if user has bind mounted a custom nginx file