Media, checked 2026-10-17

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.3.32026-10-14NoBug fixes, including a major performance improvement for the explore page (people query) and memory dates in every app language.source for release v3.3.3
v3.3.12026-10-08NoFixes around people sharing and a mobile scroll issue, and adds an indicator showing which people are shared.source for release v3.3.1
v3.3.02026-10-07NoAdds people sharing, birthday memories, auto-stacked mobile edits, OAuth claim sync on every login and new OCR models.source for release v3.3.0
v3.2.42026-09-28NoSmall patch that fixes a memory leak through a dependency update and a blank mobile sync status page.source for release v3.2.4
v3.2.02026-09-10NoAdds a docker compose builder, revamped web search UI, search API v2, cross-user people clustering and a dedicated memories page.source for release v3.2.0

If it is not coming up

Read from the upstream documentation, repository and container registry by Keita Emsden on 2026-10-17. 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