mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-30 19:09:13 +01:00
02df2a8bbd
* Refator s6 scripts to the new format * Remove unneeded workaround * Migrate logging to new s6 format * Remove more unnecessary s6 variables * Fix prepare-log and when go2rtc is not present in config * Restart the whole container if either Frigate or go2rtc fails * D * Fix service name in finish * Fix nginx finish comment * Restart improvements * Fix devcontainer * Fix format * Update Dockerfile Co-authored-by: Felipe Santos <felipecassiors@gmail.com> Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
33 lines
1.1 KiB
Plaintext
Executable File
33 lines
1.1 KiB
Plaintext
Executable File
#!/command/with-contenv bash
|
|
# shellcheck shell=bash
|
|
# Take down the S6 supervision tree when the service exits
|
|
|
|
set -o errexit -o nounset -o pipefail
|
|
|
|
declare exit_code_container
|
|
exit_code_container=$(cat /run/s6-linux-init-container-results/exitcode)
|
|
readonly exit_code_container
|
|
readonly exit_code_service="${1}"
|
|
readonly exit_code_signal="${2}"
|
|
readonly service="go2rtc"
|
|
|
|
echo "Service ${service} exited with code ${exit_code_service} (by signal ${exit_code_signal})" >&2
|
|
|
|
if [[ "${exit_code_service}" -eq 256 ]]; then
|
|
if [[ "${exit_code_container}" -eq 0 ]]; then
|
|
echo $((128 + exit_code_signal)) > /run/s6-linux-init-container-results/exitcode
|
|
fi
|
|
elif [[ "${exit_code_service}" -ne 0 ]]; then
|
|
if [[ "${exit_code_container}" -eq 0 ]]; then
|
|
echo "${exit_code_service}" > /run/s6-linux-init-container-results/exitcode
|
|
fi
|
|
else
|
|
# go2rtc is not supposed to exit, so even when it exits with 0 we make the
|
|
# container with 1. We only tolerate it when Frigate is restarting.
|
|
if [[ "${exit_code_container}" -eq 0 && ! -f /dev/shm/restarting-frigate ]]; then
|
|
echo "1" > /run/s6-linux-init-container-results/exitcode
|
|
fi
|
|
fi
|
|
|
|
exec /run/s6/basedir/bin/halt
|