immich-vectorchord-db-unofficial
tensorchord/vchord-postgres:pg18-v1.1.1
https://hub.docker.com/r/tensorchord/vchord-postgres
immich_internal
bash
false
https://github.com/tensorchord/VectorChord/issues
https://github.com/tensorchord/VectorChord
EXPERIMENTAL: PostgreSQL 18.3 with VectorChord 1.1.1 and pgvector 0.8.2 for Immich.
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).
This image uses the official TensorChord image with an optimized PostgreSQL configuration (based on Immich defaults: 512MB shared_buffers, SSD-optimized I/O parameters).
SSD vs HDD: This template ships with SSD-tuned settings (effective_io_concurrency=200, random_page_cost=1.2). If your database runs on an HDD, edit the Post Arguments and remove these two parameters to use PostgreSQL defaults.
Note: The official Immich image is ghcr.io/immich-app/postgres – this template uses the latest VectorChord version directly from TensorChord instead. Watch the Immich base-images repo for configuration updates:
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
Version matrix: https://github.com/immich-app/base-images/blob/main/postgres/versions.yaml
Tools: Status:Beta
https://raw.githubusercontent.com/rorar/unraid-templates/main/templates/immich-vectorchord-db.xml
https://raw.githubusercontent.com/rorar/unraid-templates/main/templates/docker_icons/vectorchord-logo.png
--shm-size=128m --health-cmd="pg_isready -U postgres" --health-interval=10s --health-retries=5 --health-start-period=30s --health-timeout=5s
postgres -c shared_preload_libraries=vchord,vector -c shared_buffers=512MB -c max_wal_size=5GB -c wal_compression=on -c work_mem=16MB -c effective_io_concurrency=200 -c random_page_cost=1.2 -c autovacuum_vacuum_scale_factor=0.1 -c autovacuum_analyze_scale_factor=0.05 -c autovacuum_vacuum_cost_limit=1000
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/
postgres
postgres
immich
--data-checksums
5432
/mnt/user/appdata/immich-vectorchord-db/
Europe/Berlin
99
100