1- # Immich PostgreSQL for FreeBSD
1+ # immich-postgres
22
33PostgreSQL 14 with pgvector + VectorChord for [ Immich] ( https://immich.app/ ) .
44
55Drop-in compatible with official Immich PostgreSQL image.
66
7- ## Features
7+ ## Environment Variables
88
9- - PostgreSQL 14 (matches official Immich)
10- - pgvector 0.8.x extension
11- - VectorChord 0.4.x extension
12- - Auto-initialization on first run
9+ | Variable | Description | Default |
10+ | ----------| -------------| ---------|
11+ | ` POSTGRES_USER ` | Database superuser name | ` postgres ` |
12+ | ` POSTGRES_PASSWORD ` | Superuser password | ` postgres ` |
13+ | ` POSTGRES_DB ` | Default database to create | ` immich ` |
14+ | ` PGDATA ` | Data directory location | ` /config/data ` |
1315
14- ## Usage
16+ ## Quick Start
1517
1618``` bash
1719podman run -d --name immich-postgres \
1820 --annotation ' org.freebsd.jail.allow.sysvipc=true' \
21+ -p 5432:5432 \
1922 -e POSTGRES_PASSWORD=postgres \
2023 -e POSTGRES_DB=immich \
2124 -v /containers/immich/postgres:/config \
@@ -24,21 +27,51 @@ podman run -d --name immich-postgres \
2427
2528** Note:** The ` org.freebsd.jail.allow.sysvipc=true ` annotation is required for PostgreSQL shared memory.
2629
27- ## Environment Variables
30+ ## podman-compose
31+
32+ ``` yaml
33+ services :
34+ immich-postgres :
35+ image : ghcr.io/daemonless/immich-postgres:latest
36+ container_name : immich-postgres
37+ environment :
38+ - POSTGRES_PASSWORD=postgres
39+ - POSTGRES_DB=immich
40+ volumes :
41+ - /data/config/postgres:/config
42+ ports :
43+ - 5432:5432
44+ annotations :
45+ org.freebsd.jail.allow.sysvipc : " true"
46+ restart : unless-stopped
47+ ` ` `
2848
29- | Variable | Default | Description |
30- | ----------| ---------| -------------|
31- | POSTGRES_USER | postgres | Database superuser name |
32- | POSTGRES_PASSWORD | postgres | Superuser password |
33- | POSTGRES_DB | immich | Default database to create |
49+ ## Tags
50+
51+ | Tag | Source | Description |
52+ |-----|--------|-------------|
53+ | ` :latest` | `databases/postgresql14-server` | FreeBSD latest packages (Alias for :pkg-latest) |
54+ | `:pkg` | `databases/postgresql14-server` | FreeBSD quarterly packages |
55+ | `:pkg-latest` | `databases/postgresql14-server` | FreeBSD latest packages |
3456
3557# # Volumes
3658
37- - ` /config ` - Data directory (PGDATA)
59+ | Path | Description |
60+ |------|-------------|
61+ | `/config` | Configuration and data directory (PGDATA is in `/config/data`) |
3862
3963# # Ports
4064
41- - ` 5432 ` - PostgreSQL
65+ | Port | Description |
66+ |------|-------------|
67+ | 5432 | PostgreSQL |
68+
69+ # # Features
70+
71+ - **PostgreSQL 14:** Matches official Immich requirements.
72+ - **pgvector:** 0.8.x extension installed (via ports).
73+ - **VectorChord:** 0.4.x extension installed (built from source).
74+ - **Auto-init:** Extensions enabled automatically on database creation.
4275
4376# # Extensions
4477
@@ -49,10 +82,13 @@ CREATE EXTENSION IF NOT EXISTS vector; -- pgvector
4982CREATE EXTENSION IF NOT EXISTS vchord; -- VectorChord
5083` ` `
5184
52- ## Migration
85+ # # Notes
5386
54- Your existing Immich PostgreSQL data directory works as-is. Both official and daemonless use PostgreSQL 14 with VectorChord.
87+ - **User:** `bsd` (UID/GID set via PUID/PGID, default 1000)
88+ - **Base:** Built on `ghcr.io/daemonless/base-image` (FreeBSD)
89+ - **Migration:** Fully compatible with official Immich Postgres data.
5590
56- ## Part of Immich for FreeBSD
91+ # # Links
5792
58- See [ daemonless/immich] ( https://github.com/daemonless/immich ) for the complete stack.
93+ - [Immich](https://immich.app/)
94+ - [PostgreSQL](https://www.postgresql.org/)
0 commit comments