Media, checked 2026-09-07

Immich: Docker configuration reference

Self-hosted photo and video backup with mobile auto-upload, face recognition and machine-learning search.

At a glance

Ports

Ports
PortWhat listensSource
2283 (immich-server)HTTP listener for the web UI, API and mobile app sync. Route the reverse proxy here.source for port 2283

Environment variables

Environment variables
VariableRequiredWhat it doesExampleSource
UPLOAD_LOCATIONYesHost path for uploaded photos and videos, mounted into the server container at /data../librarysource for UPLOAD_LOCATION
DB_DATA_LOCATIONYesHost path for the Postgres data files. Network shares are not supported for the database../postgressource for DB_DATA_LOCATION
DB_PASSWORDYesPostgres connection password, passed straight through to the database container as POSTGRES_PASSWORD.postgressource for DB_PASSWORD
IMMICH_TRUSTED_PROXIESNoComma-separated list of proxy IPs the API server trusts for forwarded-header handling.172.18.0.1source for IMMICH_TRUSTED_PROXIES
IMMICH_MEDIA_LOCATIONNoIn-container media path, defaults to /data. The docs warn not to change this; use UPLOAD_LOCATION instead.source for IMMICH_MEDIA_LOCATION

Volumes that must persist

Volumes
PathWhat is in itSource
/data (immich-server)The photo and video library, mapped from the host path set in UPLOAD_LOCATION. The core data to back up.source for /data
/var/lib/postgresql/data (database)Postgres data directory holding albums, users, face and search metadata, mapped from DB_DATA_LOCATION.source for /var/lib/postgresql/data
/cache (immich-machine-learning)Downloaded machine-learning models. Safe to lose; it is re-downloaded on next start.source for /cache

Behind a reverse proxy

What it needs alongside it

Dependencies
DependencyWhySource
immich-machine-learningSeparate container that runs face detection, CLIP search and other ML inference the server calls over the internal network.source for immich-machine-learning
PostgreSQL 14 with the VectorChord or pgvector extensionPrimary database, shipped as immich-app's own postgres image with the vector-search extension already installed.source for PostgreSQL 14 with the VectorChord or pgvector extension
Valkey (Redis-compatible) 9Job queue used to coordinate background processing between the server and the machine-learning worker.source for Valkey (Redis-compatible) 9

Release timeline

Releases
VersionDateBreakingWhat changedSource
v3.2.0-rc.32026-09-04NoThird release candidate of v3.2, mainly bug fixes ahead of the stable release.source for release v3.2.0-rc.3
v3.1.02026-07-29NoAdds upload wakelock on web, undo archive, filtering assets by server filepath in workflows and OIDC role claim sync.source for release v3.1.0
v3.0.32026-07-15NoBug fixes. Notes that F-Droid users must switch to the project's own F-Droid repo going forward.source for release v3.0.3
v3.0.12026-07-02NoFixes albums not showing up in the mobile app on v2 clients after the v3.0.0 upgrade.source for release v3.0.1
v3.0.02026-07-02YesMajor version with several breaking changes; the release notes link a dedicated migration guide to follow before upgrading.source for release v3.0.0

If it is not coming up

Read from the upstream documentation, repository and container registry by Keita Emsden on 2026-09-07. Every row links the page it came from. Upstream changes without telling anyone, so check the source link before you rely on a value.

Other app references

All app references