Updates the Immich template to the current stable release v3.0.2 (2026-07-09).
The template was previously in a broken state: the compose pinned immich-server/immich-machine-learning to v2.1.0 but kept the database on tensorchord/pgvecto-rs:pg14-v0.3.0, which Immich v2+/v3 no longer supports (pgvecto.rs support was fully dropped in v3.0.0). meta.json also still advertised v1.121.0.
Changes
immich-server / immich-machine-learning: v2.1.0 → v3.0.2 (tags verified on ghcr.io)
Database: tensorchord/pgvecto-rs:pg14-v0.3.0 → ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0 (official Immich Postgres image with VectorChord, matching the v3.0.2 release compose). Removed the custom vectors.socommand — the official image configures the extension automatically.
Upload volume mount moved from /usr/src/app/upload to /data (new media location since v1.133+; same immich-library named volume)
Server/ML healthchecks now use the images' built-in healthchecks (healthcheck: disable: false) — the old /server-info/ping endpoint no longer exists
Removed deprecated env vars (SERVER_URL, FRONT_BASE_URL, IMMICH_HOST, PORT) — the external URL is configured in Admin Settings in current Immich; DB_*/REDIS_*/TZ kept as-is
Installations still running the old template on v1.121.0 with pgvecto.rs must follow the VectorChord migration: switch the database image to ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0 (it bundles both extensions and Immich migrates vector data automatically on startup) before/while moving the server past v1.133. Jumping majors (v1 → v3) should be done via the documented upgrade path.
The Postgres data volume (immich-postgres) and library volume (immich-library) are unchanged, so data is preserved; only the images and the in-container media mount point (/data) change.
Test evidence (deployed on a Dokploy instance)
Deploy: done in 82s, all containers healthy
GET / → HTTP 200, Immich web UI served
GET /api/server/ping → {"res":"pong"}
GET /api/server/version → {"major":3,"minor":0,"patch":2,"prerelease":null}
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/Dokploy/templates/pull/1002
**Author:** [@Siumauricio](https://github.com/Siumauricio)
**Created:** 7/14/2026
**Status:** ✅ Merged
**Merged:** 7/14/2026
**Merged by:** [@Siumauricio](https://github.com/Siumauricio)
**Base:** `canary` ← **Head:** `fix/immich-update`
---
### 📝 Commits (1)
- [`31158e2`](https://github.com/Dokploy/templates/commit/31158e234045d1927449c4a6ae9d3b2308e9bdf6) fix(immich): update to v3.0.2
### 📊 Changes
**3 files changed** (+12 additions, -43 deletions)
<details>
<summary>View changed files</summary>
📝 `blueprints/immich/docker-compose.yml` (+11 -39)
📝 `blueprints/immich/meta.json` (+1 -1)
📝 `blueprints/immich/template.toml` (+0 -3)
</details>
### 📄 Description
## Summary
Updates the Immich template to the current stable release **v3.0.2** (2026-07-09).
The template was previously in a broken state: the compose pinned `immich-server`/`immich-machine-learning` to `v2.1.0` but kept the database on `tensorchord/pgvecto-rs:pg14-v0.3.0`, which Immich v2+/v3 no longer supports (pgvecto.rs support was fully dropped in v3.0.0). `meta.json` also still advertised `v1.121.0`.
## Changes
- `immich-server` / `immich-machine-learning`: `v2.1.0` → `v3.0.2` (tags verified on ghcr.io)
- Database: `tensorchord/pgvecto-rs:pg14-v0.3.0` → `ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0` (official Immich Postgres image with VectorChord, matching the v3.0.2 release compose). Removed the custom `vectors.so` `command` — the official image configures the extension automatically.
- Redis: `redis:6.2-alpine` → `valkey/valkey:9` (matching upstream compose)
- Upload volume mount moved from `/usr/src/app/upload` to `/data` (new media location since v1.133+; same `immich-library` named volume)
- Server/ML healthchecks now use the images' built-in healthchecks (`healthcheck: disable: false`) — the old `/server-info/ping` endpoint no longer exists
- Removed deprecated env vars (`SERVER_URL`, `FRONT_BASE_URL`, `IMMICH_HOST`, `PORT`) — the external URL is configured in Admin Settings in current Immich; `DB_*`/`REDIS_*`/`TZ` kept as-is
- Kept `restart: unless-stopped` from #938
- `meta.json` version: `v1.121.0` → `v3.0.2`
## Migration notes for existing installations
- Installations still running the old template on **v1.121.0 with pgvecto.rs** must follow the [VectorChord migration](https://docs.immich.app/install/upgrading/#migrating-to-vectorchord): switch the database image to `ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0` (it bundles both extensions and Immich migrates vector data automatically on startup) **before/while** moving the server past v1.133. Jumping majors (v1 → v3) should be done via the documented upgrade path.
- The Postgres data volume (`immich-postgres`) and library volume (`immich-library`) are unchanged, so data is preserved; only the images and the in-container media mount point (`/data`) change.
## Test evidence (deployed on a Dokploy instance)
- Deploy: `done` in 82s, all containers healthy
- `GET /` → HTTP 200, Immich web UI served
- `GET /api/server/ping` → `{"res":"pong"}`
- `GET /api/server/version` → `{"major":3,"minor":0,"patch":2,"prerelease":null}`
- `node build-scripts/generate-meta.js --check` → 476 templates validated
Closes #96
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/Dokploy/templates/pull/1002
Author: @Siumauricio
Created: 7/14/2026
Status: ✅ Merged
Merged: 7/14/2026
Merged by: @Siumauricio
Base:
canary← Head:fix/immich-update📝 Commits (1)
31158e2fix(immich): update to v3.0.2📊 Changes
3 files changed (+12 additions, -43 deletions)
View changed files
📝
blueprints/immich/docker-compose.yml(+11 -39)📝
blueprints/immich/meta.json(+1 -1)📝
blueprints/immich/template.toml(+0 -3)📄 Description
Summary
Updates the Immich template to the current stable release v3.0.2 (2026-07-09).
The template was previously in a broken state: the compose pinned
immich-server/immich-machine-learningtov2.1.0but kept the database ontensorchord/pgvecto-rs:pg14-v0.3.0, which Immich v2+/v3 no longer supports (pgvecto.rs support was fully dropped in v3.0.0).meta.jsonalso still advertisedv1.121.0.Changes
immich-server/immich-machine-learning:v2.1.0→v3.0.2(tags verified on ghcr.io)tensorchord/pgvecto-rs:pg14-v0.3.0→ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0(official Immich Postgres image with VectorChord, matching the v3.0.2 release compose). Removed the customvectors.socommand— the official image configures the extension automatically.redis:6.2-alpine→valkey/valkey:9(matching upstream compose)/usr/src/app/uploadto/data(new media location since v1.133+; sameimmich-librarynamed volume)healthcheck: disable: false) — the old/server-info/pingendpoint no longer existsSERVER_URL,FRONT_BASE_URL,IMMICH_HOST,PORT) — the external URL is configured in Admin Settings in current Immich;DB_*/REDIS_*/TZkept as-isrestart: unless-stoppedfrom [PR #321] [MERGED] Add crowdsec to blueprints (#938)meta.jsonversion:v1.121.0→v3.0.2Migration notes for existing installations
ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0(it bundles both extensions and Immich migrates vector data automatically on startup) before/while moving the server past v1.133. Jumping majors (v1 → v3) should be done via the documented upgrade path.immich-postgres) and library volume (immich-library) are unchanged, so data is preserved; only the images and the in-container media mount point (/data) change.Test evidence (deployed on a Dokploy instance)
donein 82s, all containers healthyGET /→ HTTP 200, Immich web UI servedGET /api/server/ping→{"res":"pong"}GET /api/server/version→{"major":3,"minor":0,"patch":2,"prerelease":null}node build-scripts/generate-meta.js --check→ 476 templates validatedCloses #96
🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.