From 52d94231c7cfda69c1fcba4946f18ec567927653 Mon Sep 17 00:00:00 2001 From: Felipe Santos Date: Wed, 7 May 2025 21:43:51 -0300 Subject: [PATCH] Avoid unhealthy container when Frigate is stopping (#18021) --- docker/main/Dockerfile | 2 +- docker/main/rootfs/etc/s6-overlay/s6-rc.d/frigate/finish | 3 +++ docker/main/rootfs/etc/s6-overlay/s6-rc.d/prepare/run | 4 ++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/docker/main/Dockerfile b/docker/main/Dockerfile index a71250813..f58e3d5a9 100644 --- a/docker/main/Dockerfile +++ b/docker/main/Dockerfile @@ -260,7 +260,7 @@ ENTRYPOINT ["/init"] CMD [] HEALTHCHECK --start-period=300s --start-interval=5s --interval=15s --timeout=5s --retries=3 \ - CMD curl --fail --silent --show-error http://127.0.0.1:5000/api/version || exit 1 + CMD test -f /dev/shm/.frigate-is-stopping && exit 0; curl --fail --silent --show-error http://127.0.0.1:5000/api/version || exit 1 # Frigate deps with Node.js and NPM for devcontainer FROM deps AS devcontainer diff --git a/docker/main/rootfs/etc/s6-overlay/s6-rc.d/frigate/finish b/docker/main/rootfs/etc/s6-overlay/s6-rc.d/frigate/finish index 75869b5e7..27a02843c 100755 --- a/docker/main/rootfs/etc/s6-overlay/s6-rc.d/frigate/finish +++ b/docker/main/rootfs/etc/s6-overlay/s6-rc.d/frigate/finish @@ -25,4 +25,7 @@ elif [[ "${exit_code_service}" -ne 0 ]]; then fi fi +# used by the docker healthcheck +touch /dev/shm/.frigate-is-stopping + exec /run/s6/basedir/bin/halt diff --git a/docker/main/rootfs/etc/s6-overlay/s6-rc.d/prepare/run b/docker/main/rootfs/etc/s6-overlay/s6-rc.d/prepare/run index 0460cd2b4..27b1d6326 100755 --- a/docker/main/rootfs/etc/s6-overlay/s6-rc.d/prepare/run +++ b/docker/main/rootfs/etc/s6-overlay/s6-rc.d/prepare/run @@ -138,5 +138,9 @@ function migrate_db_from_media_to_config() { fi } +# remove leftover from last run, not normally needed, but just in case +# used by the docker healthcheck +rm -f /dev/shm/.frigate-is-stopping + migrate_addon_config_dir migrate_db_from_media_to_config