Immich was migrated from the photos Docker Compose stack on kryptovisor.auth.home.lan to Kubernetes on drg-k8s.auth.home.lan.
v2.0.1v2.7.5https://photos.julianbechtold.ch/https://photos.app.lan/Kubernetes namespace: immich
Workloads:
immich-server using ghcr.io/immich-app/immich-server:v2.7.5immich-machine-learning using ghcr.io/immich-app/immich-machine-learning:v2.7.5 CPU imageimmich-postgres using Immich PostgreSQL 14 VectorChord imageimmich-valkey using Valkey 9Storage:
/mnt/bigdata/personal/media/memories via the drg-k8s NFS host path, exposed to Kubernetes as retained PV immich-media-hostpath.local-path PVC immich-postgres.local-path PVC immich-ml-cache.Routing:
immich/immich accepts photos.app.lan and photos.julianbechtold.ch.http://192.168.1.9:30331 via service immich-k8s.Pre-cutover source counts:
1359513526954Final source dump:
/home/ax_julian/temp/immich-final-20260604T085242Z-v2.0.1.sql.gz on kryptovisorPost-migration target backup:
/mnt/bigdata/personal/media/memories/backups/immich-db-backup-20260604T091052Z-v2.7.5-k8s-pg14.sql.gzThe media tree was updated to group files-bigdata-rw, group-writable, with setgid on directories so the drg-k8s NFS export identity (k8s-nfs-access) can write through the export.
https://photos.julianbechtold.ch/api/server/ping returned {"res":"pong"}.https://photos.julianbechtold.ch/api/server/version returned 2.7.5.https://photos.app.lan/api/server/ping returned {"res":"pong"}.Host: photos.julianbechtold.ch on 192.168.1.9:30331 returned Immich HTML and API responses.The old kryptovisor containers are stopped:
photos_immich_serverphotos_immich_mlphotos_valkeyphotos_postgresThey were left present but stopped for rollback/audit purposes.