mirror of
https://github.com/immich-app/immich
synced 2025-06-07 07:48:24 +00:00

* Log failed healthchecks to server container stderr in verbose mode * Formatting: indentation, semicolons * Readability: less escaping
31 lines
789 B
Bash
Executable File
31 lines
789 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
log_container_verbose() {
|
|
if [[ $IMMICH_LOG_LEVEL == verbose ]]; then
|
|
echo "$1" > /proc/1/fd/2
|
|
fi
|
|
}
|
|
|
|
if [[ ( $IMMICH_WORKERS_INCLUDE != '' && $IMMICH_WORKERS_INCLUDE != *api* ) || $IMMICH_WORKERS_EXCLUDE == *api* ]]; then
|
|
echo "API worker excluded, skipping"
|
|
exit 0
|
|
fi
|
|
|
|
IMMICH_HOST="${IMMICH_HOST:-localhost}"
|
|
IMMICH_PORT="${IMMICH_PORT:-2283}"
|
|
|
|
result=$(curl -fsS -m 2 http://"$IMMICH_HOST":"$IMMICH_PORT"/api/server/ping)
|
|
result_exit=$?
|
|
|
|
if [ $result_exit != 0 ]; then
|
|
echo "Fail: exit code is $result_exit"
|
|
log_container_verbose "Healthcheck failed: exit code $result_exit"
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$result" != '{"res":"pong"}' ]; then
|
|
echo "Fail: didn't reply with pong"
|
|
log_container_verbose "Healthcheck failed: didn't reply with pong"
|
|
exit 1
|
|
fi
|