34 lines
1.9 KiB
Markdown
34 lines
1.9 KiB
Markdown
# Immich on arschrock
|
|
|
|
Argo CD installs the upstream Immich chart directly; there is no homelab
|
|
application/chart repository. The chart's upstream application release tag is
|
|
selected in `values.yaml`. The Immich server and machine-learning workload are
|
|
pinned to `arschrock`; only the existing `/mnt/Bilder` bcachefs library is
|
|
host-local. Immich PostgreSQL and Valkey run separately in this namespace with
|
|
Ceph-backed storage.
|
|
|
|
The local PV is retained and bound to `/mnt/Bilder`. It does not copy or move
|
|
the photo library. The server has a read-only startup check for the bcachefs
|
|
filesystem magic and expected `upload` directory, in addition to a node label
|
|
that prevents scheduling until the host helper confirms the mount.
|
|
|
|
Before unmounting `/mnt`, run `./immich-storage-offline.sh` from the workspace
|
|
root and wait for it to report that the server and machine-learning Pods have
|
|
stopped. Do not unmount if that helper fails. After mounting `/mnt` again, run
|
|
`./immich-storage-online.sh`; it validates bcachefs and the Immich upload
|
|
directory, forces fresh Pod mounts, and then restores the readiness label.
|
|
These helpers assume the default context `kubernetes-admin@kubernetes` and
|
|
refuse other contexts. No systemd hook controlling `/mnt` was found during
|
|
migration setup, so a future systemd-based mount change must explicitly order
|
|
these helpers before unmount and after mount.
|
|
|
|
The database operator creates its application password Secret automatically;
|
|
the cleartext credential is not stored in Git. The initial restore preserves
|
|
the source database's PostgreSQL 18.6 and pgvector extension versions. The
|
|
shared Valkey instance is not copied wholesale: only keys identified as
|
|
Immich-owned are imported, leaving all other applications' keys untouched.
|
|
|
|
The old Podman stack and host PostgreSQL must remain available as rollback
|
|
sources until the new application, database, monitoring, and routes have been
|
|
verified. Never run both Immich servers against `/mnt/Bilder` concurrently.
|