immich-vectorchord-db-official

immich-vectorchord-db-official

Docker app from rorar's Repository

Overview

Official Immich PostgreSQL 18 with VectorChord 0.5.3 and pgvector 0.8.1. This is the official database image from the Immich team with a built-in optimized PostgreSQL configuration (512MB shared_buffers, SSD/HDD auto-tuning, WAL compression). No manual tuning via Post Arguments needed. SSD vs HDD: Set the DB_STORAGE_TYPE variable to HDD if your database is not on an SSD. Defaults to SSD. VectorChord is the successor to pgvecto.rs and uses RaBitQ compression for efficient vector search. Immich uses these extensions for face recognition (face_index) and CLIP-based image search (clip_index). Watch the Immich base-images repo for updates: Version matrix: https://github.com/immich-app/base-images/blob/main/postgres/versions.yaml SSD config: https://github.com/immich-app/base-images/blob/main/postgres/postgresql.ssd.conf HDD config: https://github.com/immich-app/base-images/blob/main/postgres/postgresql.hdd.conf

Install immich-vectorchord-db-official on Unraid in a few clicks.

Find immich-vectorchord-db-official in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for immich-vectorchord-db-official Review the template variables and paths Click Install

Requirements

Database files must reside on locally attached storage (SSD/NVMe), not on a remote-mounted filesystem (e.g. NFS/SMB from another machine). Used as the database backend for Immich. Full setup guide: https://rorar.github.io/immich-unraid-manual/

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/immich-app/postgres:18-vectorchord0.5.3-pgvector0.8.1
Last Updated2026-07-07
First Seen2025-11-09

Runtime arguments

Network
immich_internal
Shell
bash
Privileged
false
Extra Params
--shm-size=128m --health-cmd="pg_isready -U postgres" --health-interval=10s --health-retries=5 --health-start-period=30s --health-timeout=5s

Template configuration

--- Database ---Variable

Core PostgreSQL settings for Immich.

POSTGRES_USERVariable

Database username

Default
postgres
Value
postgres
POSTGRES_PASSWORDVariable

Database password – please change! Use only A-Za-z0-9, no special characters. Generate a secure one in the Unraid terminal: openssl rand -base64 32 | tr -dc A-Za-z0-9 | head -c 32

Default
postgres
Value
postgres
POSTGRES_DBVariable

Database name

Default
immich
Value
immich
POSTGRES_INITDB_ARGSVariable

Arguments for initdb. --data-checksums enables checksums for data integrity.

Default
--data-checksums
Value
--data-checksums
Port: PostgreSQLPorttcp

PostgreSQL database port (5432)

Target
5432
Default
5432
Value
5432
Path: DB DataPathrw

Persistent database data directory. PG 18+ stores data in a version-specific subdirectory (18/docker). Must be on locally attached storage (SSD/NVMe), not a remote filesystem.

Target
/var/lib/postgresql
Default
/mnt/user/appdata/immich-vectorchord-db/
Value
/mnt/user/appdata/immich-vectorchord-db/
--- Storage Tuning ---Variable

Built-in PostgreSQL tuning. The official Immich image auto-configures based on storage type.

DB_STORAGE_TYPEVariable

Storage type for I/O tuning. Set to HDD if your database is not on an SSD/NVMe. Adjusts effective_io_concurrency and random_page_cost automatically.

Default
SSD|HDD
Value
SSD
--- System ---Variable

Timezone.

Variable: TZVariable

Timezone. See: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List

Target
TZ
Default
Europe/Berlin
Value
Europe/Berlin