From 117613262785d122a25b1c7b86dd180b9feddf8e Mon Sep 17 00:00:00 2001 From: "Finn@MiBook" Date: Wed, 5 Aug 2026 16:33:53 +0200 Subject: [PATCH] docs: resolve Immich version check (2.7.5 == stable, no vector migration) Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_016e2PKH5yN31h6JgHWCQb32 --- .../2026-08-05-immich-nixos-module-design.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/docs/superpowers/specs/2026-08-05-immich-nixos-module-design.md b/docs/superpowers/specs/2026-08-05-immich-nixos-module-design.md index c8ed56c..f449c9f 100644 --- a/docs/superpowers/specs/2026-08-05-immich-nixos-module-design.md +++ b/docs/superpowers/specs/2026-08-05-immich-nixos-module-design.md @@ -16,7 +16,7 @@ links, metadata) and photo/video library. | Topic | Decision | |-------|----------| | Approach | Native `services.immich` (nixpkgs), not `oci-containers` | -| Version target | Stable nixpkgs ships **2.7.5**, unstable **3.0.3**. Pin target ≥ running docker version (forward-migration only) | +| Version target | **Resolved: docker runs 2.7.5 == stable nixpkgs 2.7.5.** Use the stable module as-is; no `package` override. Same-version restore, no forward schema migration | | Media location | Default local path `/var/lib/immich`. NAS deferred to a future read-only external library | | Database | Migrate via dump/restore — keep everything | | HW acceleration | Video transcoding only (VAAPI/QSV via existing Intel graphics stack). ML on CPU | @@ -83,8 +83,9 @@ groups (above); (b) the hwaccel backend (QSV/VAAPI) is chosen in Immich's ### Pre-flight (hard blocker) 1. Get running docker Immich version (`docker exec immich --version` or web UI footer). -2. Compare to target (stable 2.7.5 / unstable 3.0.3). Target **must be ≥ running**. - - running ≤ 2.7.5 → stable module as-is +2. **Resolved 2026-08-05: running version is 2.7.5, equal to stable nixpkgs.** + Use the stable module as-is (no `package` override). Kept for reference: + - running ≤ 2.7.5 → stable module as-is ← **this case** - 2.7.6–3.0.3 → set `package = pkgs.unstable.immich` - `> 3.0.3` → bump nixpkgs first; **stop and re-plan** 3. Record docker `UPLOAD_LOCATION` and DB container name/credentials. @@ -111,9 +112,10 @@ Before deleting any docker data: `systemctl stop immich-*`, disable the profile, `nixos-rebuild switch`, `docker compose up -d`. Original docker DB + upload folder remain untouched until explicitly removed after a few days of confidence. -## Known risk +## Known risk — RESOLVED -Step 9 crosses the **pgvecto.rs → VectorChord** vector-extension boundary if the -docker version predates VectorChord. Follow Immich's official "migrate vector -database" guidance during restore. The exact case is known only after the -pre-flight version check. +The main risk was step 9 crossing the **pgvecto.rs → VectorChord** vector-extension +boundary. With source and target both at **2.7.5**, both use VectorChord — no +boundary crossing and no forward schema migration. The restore is a same-version +dump/load. Residual risk is limited to routine dump/restore mechanics +(roles, extension availability in the NixOS Postgres, ownership on restore).