GUIDE, WITHOUT THE GUESSWORK

Immich Post-Install Diagnostics: Volume Mounts, Sidecars, Timezones, and the Database Boundary

Immich is installed but misbehaving — the ML sidecar can't see your photos, timestamps are off by hours, an upgrade complains about the database. A diagnostics checklist for the volume and DB boundary.

Immich Post-Install Diagnostics: Volume Mounts, Sidecars, Timezones, and the Database Boundary

Immich's hard part isn't installing it — it's the cluster of small failures that show up after install, all rooted in the same two boundaries: how Docker volumes are mounted, and where the database's assumptions meet your storage. The machine-learning sidecar "can't find" your library, photo timestamps land hours off, an upgrade complains about the database. None of these are mysterious once you know they all live at the volume/DB boundary. Here's the diagnostics checklist.

Symptom 1: a sidecar/container can't see mounted folders

Immich runs multiple containers (server, ML, microservices) that must share the same view of your photos. When the ML sidecar "can't see" the library, it's almost always a mount mismatch:

Symptom 2: timestamps are wrong by hours

Photos showing up on the wrong day is a timezone boundary problem:

Symptom 3: upgrades expose database/storage assumptions

When an upgrade suddenly complains, it's the DB boundary surfacing:

The boundary checklist

Deploying Immich from a template avoids most of these by wiring the volumes, database, and environment consistently from the start:

ServerCompass selecting the Immich template before deploy A template deploy in ServerCompass provisions Immich's containers, shared volumes, and Postgres together — so the post-install boundary issues above mostly never appear.

Takeaway

Every confusing Immich post-install symptom traces to one of two boundaries: the volume mount (paths, ownership, network timing) or the database (timezone, persistence, forward-only migrations). Check those, keep the DB and library consistent, and Immich settles down — the app was fine; the boundaries needed minding.