From f191cb07a5c7160ac6fede7ffa4573edcd914751 Mon Sep 17 00:00:00 2001 From: Eugene Burkov Date: Fri, 31 Mar 2023 18:07:00 +0300 Subject: [PATCH] Pull request 1794: 3290-kill-zombies Merge in DNS/adguard-home from 3290-kill-zombies to master Updates #3290. Squashed commit of the following: commit 3e0626024243e48e253451a322961e1011976ce3 Merge: 5aa7aa4e 1731ce9c Author: Eugene Burkov Date: Fri Mar 31 20:04:04 2023 +0500 Merge branch 'master' into 3290-kill-zombies commit 5aa7aa4e17c76d1226ba1d44639c67e12454e4e7 Author: Eugene Burkov Date: Fri Mar 31 16:38:00 2023 +0500 docker: add doc commit 52a0b671c3f229250988ecd32c0bf909b50fc59b Author: Eugene Burkov Date: Fri Mar 31 14:41:41 2023 +0500 docker: add init emulator --- docker/Dockerfile | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 38a34bcd..57ab408e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -25,6 +25,8 @@ RUN apk --no-cache add ca-certificates libcap tzdata && \ mkdir -p /opt/adguardhome/conf /opt/adguardhome/work && \ chown -R nobody: /opt/adguardhome +RUN apk --no-cache add tini + ARG DIST_DIR ARG TARGETARCH ARG TARGETOS @@ -62,11 +64,22 @@ COPY --chown=nobody:nogroup\ ./${DIST_DIR}/docker/scripts\ /opt/adguardhome/scripts -ENTRYPOINT ["/opt/adguardhome/AdGuardHome"] +HEALTHCHECK \ + --interval=30s \ + --timeout=10s \ + --retries=3 \ + CMD [ "/opt/adguardhome/scripts/healthcheck.sh" ] -HEALTHCHECK --interval=30s --timeout=10s --retries=3 CMD [ "/opt/adguardhome/scripts/healthcheck.sh" ] +# It seems that the healthckech script sometimes spawns zombie processes, so we +# need a way to handle them, since AdGuard Home doesn't know how to keep track +# of the processes delegated to it by the OS. Use tini as entry point because +# it needs the PID=1 to be the default parent for orphaned processes. +# +# See https://github.com/adguardTeam/adGuardHome/issues/3290. +ENTRYPOINT [ "/sbin/tini", "--" ] CMD [ \ + "/opt/adguardhome/AdGuardHome", \ "--no-check-update", \ "-c", "/opt/adguardhome/conf/AdGuardHome.yaml", \ "-h", "0.0.0.0", \