Skip to content

Commit fbd7d4f

Browse files
committed
Add support for postgres 18
If you're migrating, stay on 14... if you're a new immich user, consider using 18 as immich works on a 14->18 migration path
1 parent 7649a17 commit fbd7d4f

5 files changed

Lines changed: 34 additions & 8 deletions

File tree

.daemonless/config.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,16 @@
11
icon: ':simple-postgresql:'
2+
3+
cit:
4+
mode: port
5+
port: 5432
6+
7+
build:
8+
variants:
9+
- tag: "14"
10+
args:
11+
PG_VERSION: "14"
12+
aliases: ["latest"]
13+
default: true
14+
- tag: "18"
15+
args:
16+
PG_VERSION: "18"

Containerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ RUN fetch -qo /tmp/ports.tar.zst \
2424
ports/databases/pgvector ports/Mk ports/Templates ports/Keywords && \
2525
rm /tmp/ports.tar.zst
2626

27-
# Build pgvector for PostgreSQL 14
27+
# Build pgvector
2828
WORKDIR /usr/ports/databases/pgvector
2929
RUN make DEFAULT_VERSIONS+=pgsql=${PG_VERSION} BATCH=yes install clean
3030

3131
# Build VectorChord from source
32-
ARG VECTORCHORD_VERSION=0.4.3
32+
ARG VECTORCHORD_VERSION=0.5.3
3333
RUN fetch -qo /tmp/vectorchord.tar.gz \
3434
"https://github.com/tensorchord/VectorChord/archive/refs/tags/${VECTORCHORD_VERSION}.tar.gz" && \
3535
tar -xzf /tmp/vectorchord.tar.gz -C /tmp && \
@@ -48,7 +48,7 @@ ENV HEALTHCHECK_CMD="${HEALTHCHECK_ENDPOINT}"
4848

4949
# --- Metadata (Injected by Generator) ---
5050
LABEL org.opencontainers.image.title="Immich PostgreSQL" \
51-
org.opencontainers.image.description="PostgreSQL 14 with pgvector and vectorchord extensions required by Immich for vector similarity search." \
51+
org.opencontainers.image.description="PostgreSQL with pgvector and vectorchord extensions required by Immich for vector similarity search. Defaults to PostgreSQL 14 (:latest), PostgreSQL 18 available as :18." \
5252
org.opencontainers.image.source="https://github.com/daemonless/immich-postgres" \
5353
org.opencontainers.image.url="https://immich.app/" \
5454
org.opencontainers.image.licenses="PostgreSQL" \

Containerfile.j2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ RUN fetch -qo /tmp/ports.tar.zst \
1818
ports/databases/pgvector ports/Mk ports/Templates ports/Keywords && \
1919
rm /tmp/ports.tar.zst
2020

21-
# Build pgvector for PostgreSQL 14
21+
# Build pgvector
2222
WORKDIR /usr/ports/databases/pgvector
2323
RUN make DEFAULT_VERSIONS+=pgsql=${PG_VERSION} BATCH=yes install clean
2424

2525
# Build VectorChord from source
26-
ARG VECTORCHORD_VERSION=0.4.3
26+
ARG VECTORCHORD_VERSION=0.5.3
2727
RUN fetch -qo /tmp/vectorchord.tar.gz \
2828
"https://github.com/tensorchord/VectorChord/archive/refs/tags/${VECTORCHORD_VERSION}.tar.gz" && \
2929
tar -xzf /tmp/vectorchord.tar.gz -C /tmp && \

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Source: dbuild templates
88
[![Build Status](https://img.shields.io/github/actions/workflow/status/daemonless/immich-postgres/build.yaml?style=flat-square&label=Build&color=green)](https://github.com/daemonless/immich-postgres/actions)
99
[![Last Commit](https://img.shields.io/github/last-commit/daemonless/immich-postgres?style=flat-square&label=Last+Commit&color=blue)](https://github.com/daemonless/immich-postgres/commits)
1010

11-
PostgreSQL 14 with pgvector and vectorchord extensions required by Immich for vector similarity search.
11+
PostgreSQL with pgvector and vectorchord extensions required by Immich for vector similarity search. Defaults to PostgreSQL 14 (:latest), PostgreSQL 18 available as :18.
1212

1313
| | |
1414
|---|---|
@@ -21,7 +21,8 @@ PostgreSQL 14 with pgvector and vectorchord extensions required by Immich for ve
2121

2222
| Tag | Description | Best For |
2323
| :--- | :--- | :--- |
24-
| `latest` | **Upstream Binary**. Built from official release. | Most users. Matches Linux Docker behavior. |
24+
| `14` / `latest` | **Upstream Binary**. Built from official release. | Most users. Matches Linux Docker behavior. |
25+
| `18` | **Upstream Binary**. Built from official release. | Alternative build. |
2526

2627
## Prerequisites
2728

@@ -155,6 +156,11 @@ Access at: `http://localhost:5432`
155156

156157
This image is part of the [Immich Stack](https://daemonless.io/images/immich).
157158

159+
**PostgreSQL version:** `:latest` and `:14` use PostgreSQL 14. `:18` uses PostgreSQL 18.
160+
New installations should consider `:18`. If you are migrating an existing Immich instance,
161+
stay on `:14` — PostgreSQL major version upgrades require a full `pg_dumpall` and restore.
162+
The default `:latest` tag will follow whatever version Immich recommends upstream.
163+
158164
PostgreSQL requires `allow.sysvipc` for shared memory. Create `immich-postgres.conf` alongside `appjail-director.yml`:
159165

160166
```

compose.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ x-daemonless:
44
title: "Immich PostgreSQL"
55
icon: ":simple-postgresql:"
66
category: "Databases"
7-
description: "PostgreSQL 14 with pgvector and vectorchord extensions required by Immich for vector similarity search."
7+
description: "PostgreSQL with pgvector and vectorchord extensions required by Immich for vector similarity search. Defaults to PostgreSQL 14 (:latest), PostgreSQL 18 available as :18."
88
upstream_url: "https://github.com/immich-app/immich"
99
web_url: "https://immich.app/"
1010
freshports_url: "https://www.freshports.org/databases/postgresql14-server/"
@@ -19,6 +19,11 @@ x-daemonless:
1919
notes: |
2020
This image is part of the [Immich Stack](https://daemonless.io/images/immich).
2121
22+
**PostgreSQL version:** `:latest` and `:14` use PostgreSQL 14. `:18` uses PostgreSQL 18.
23+
New installations should consider `:18`. If you are migrating an existing Immich instance,
24+
stay on `:14` — PostgreSQL major version upgrades require a full `pg_dumpall` and restore.
25+
The default `:latest` tag will follow whatever version Immich recommends upstream.
26+
2227
PostgreSQL requires `allow.sysvipc` for shared memory. Create `immich-postgres.conf` alongside `appjail-director.yml`:
2328
2429
```

0 commit comments

Comments
 (0)