From 81f5f362a91f13974645b025efb94475504712dc Mon Sep 17 00:00:00 2001 From: Felipe Santos Date: Thu, 29 May 2025 23:58:31 -0300 Subject: [PATCH] Fix healthcheck on stopping (#18476) --- docker/main/rootfs/etc/s6-overlay/s6-rc.d/frigate/finish | 3 --- frigate/app.py | 4 ++++ 2 files changed, 4 insertions(+), 3 deletions(-) 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 27a02843c..75869b5e7 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,7 +25,4 @@ 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/frigate/app.py b/frigate/app.py index cb3da1f54..decee9504 100644 --- a/frigate/app.py +++ b/frigate/app.py @@ -6,6 +6,7 @@ import secrets import shutil from multiprocessing import Queue from multiprocessing.synchronize import Event as MpEvent +from pathlib import Path from typing import Optional import psutil @@ -685,6 +686,9 @@ class FrigateApp: def stop(self) -> None: logger.info("Stopping...") + # used by the docker healthcheck + Path("/dev/shm/.frigate-is-stopping").touch() + self.stop_event.set() # set an end_time on entries without an end_time before exiting