Immich PostgreSQL
| Description / name | Input element |
|---|---|
| Container Registry | |
| Container Configuration Root Path | |
| Immich PostgreSQL Host Port | |
| Immich PostgreSQL /var/lib/postgresql/data Path |
PostgreSQL with pgvector and vectorchord extensions required by Immich for vector similarity search. Defaults to PostgreSQL 14 (:latest), PostgreSQL 18 available as :18.
| Port | 5432 |
| Registry | ghcr.io/daemonless/immich-postgres |
| Daemonless | daemonless/immich-postgres |
| Source | immich-app/immich |
| Website | immich.app |
Version Tags
| Tag | Description | Best For |
|---|---|---|
14 / 14-pkg / latest |
Upstream Binary. Built from official release. | Most users — recommended. |
18 / 18-pkg |
Upstream Binary. Built from official release. | Alternative build. |
Before deploying, ensure your host environment is ready. See the Quick Start Guide for host setup instructions, including the security model for host vs. container privileges.
Deployment
Interactive Configuration
Parameters
Environment Variables
| Variable | Default | Description |
|---|---|---|
POSTGRES_USER |
postgres |
Database superuser (default: postgres) |
POSTGRES_PASSWORD |
postgres |
Database password (default: postgres) |
POSTGRES_DB |
immich |
Database name (default: immich) |
POSTGRES_INITDB_ARGS |
`` | Additional initdb arguments |
Volumes
| Path | Description |
|---|---|
/var/lib/postgresql/data |
Database data directory |
Ports
| Port | Protocol | Description |
|---|---|---|
5432 |
TCP | PostgreSQL Port |
This image is part of the Immich Stack.
PostgreSQL version: :latest and :14 use PostgreSQL 14. :18 uses PostgreSQL 18.
New installations should consider :18. If you are migrating an existing Immich instance,
stay on :14 — PostgreSQL major version upgrades require a full pg_dumpall and restore.
The default :latest tag will follow whatever version Immich recommends upstream.
PostgreSQL requires allow.sysvipc for shared memory. Create immich-postgres.conf alongside appjail-director.yml:
Implementation Details
- Architectures: amd64
- User:
postgres(UID/GID set via PUID/PGID). Defaults to1000:1000. - Base: Built on
ghcr.io/daemonless/base(FreeBSD 15.1). - sysvipc: Requires
--annotation 'org.freebsd.jail.allow.sysvipc=true'(ocijail 0.5.0+)
Need help? Join our Discord community.