web-arm: migrate existing Nextcloud photos into Immich (manual, one-time) #184
Labels
No labels
bug
enhancement
in-progress
needs-info
needs-triage
p0
ready-for-agent
ready-for-human
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/nixos#184
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
One-time, manual migration of existing photos from Nextcloud into the freshly-deployed Immich on web-arm. OIDC login now works (#181, #182); Immich is empty and needs the existing library imported. (#178 explicitly deferred data migration to "a separate human issue" — this is it.)
Where the data is
/var/lib/nextcloud/data/<nextcloud-username>/files/<…>on web-arm. The data dir is a Storage-Box CIFS mount (sub4); real filenames/folder structure are preserved. Files are owneduid=983(nextcloud), mode0770→ read them as root.<nextcloud-username>is your Autheliapreferred_username. Find it withls /var/lib/nextcloud/data.sub12(/var/lib/immich/library), thumbnails local. API:http://127.0.0.1:2283/api(loopback) orhttps://immich.cloonar.com/api.Does it work with an API key? Yes
The Immich CLI authenticates only via an API key — no OAuth/password involved.
Recommended: Immich CLI on web-arm
Run it on web-arm so it reads the Nextcloud files locally and uploads over loopback (no double internet transfer).
immich-cliis in nixpkgs (binaryimmich).--recursivewalks subfolders;--albummakes one album per source subfolder. Use--album-name "Nextcloud import"for a single album instead, or drop both flags to import with no albums..../files/Photos,.../files/InstantUploadfor phone auto-uploads, etc.).Alternative: immich-go
immich-go(also API-key based) is more robust for very large libraries and has richer date/album heuristics:Caveats
CPUWeight=20): after upload, thumbnail + face/smart-search generation for a large library takes a while. Watch Administration → Jobs andjournalctl -u immich-server. This is by design so it never starves the websites.sub12— confirm it has room for the whole library before a big import.Acceptance criteria
/var/lib/immich/library(sub12); count matches the source.