Bug
The PostgreSQL healthcheck in the Immich docker-compose.yml uses $Chksum which Docker Compose interprets as an environment variable, replacing it with an empty string before the shell script runs.
This causes the healthcheck to always fail (exit code 1) with output:
checksum failure count is
(empty value instead of "0"), marking PostgreSQL as unhealthy even though it's running fine. This eventually causes Immich to refuse uploads/backups.
Docker Compose also logs this warning at startup:
level=warning msg="The \"Chksum\" variable is not set. Defaulting to a blank string."
Fix
Escape $Chksum as $$Chksum in the healthcheck command:
- echo "checksum failure count is $Chksum"; [ "$Chksum" = '0' ] || exit 1
+ echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1
File: Apps/immich/docker-compose.yml
Bug
The PostgreSQL healthcheck in the Immich
docker-compose.ymluses$Chksumwhich Docker Compose interprets as an environment variable, replacing it with an empty string before the shell script runs.This causes the healthcheck to always fail (exit code 1) with output:
(empty value instead of "0"), marking PostgreSQL as unhealthy even though it's running fine. This eventually causes Immich to refuse uploads/backups.
Docker Compose also logs this warning at startup:
Fix
Escape
$Chksumas$$Chksumin the healthcheck command:File:
Apps/immich/docker-compose.yml