Make main the library app; supersede scanner (defer Immich #38) #39

Merged
janpeter merged 2 commits from chore/main-becomes-library-app into main 2026-06-05 23:59:29 +02:00
Owner

Replaces main's tree wholesale with codex/library-rebuild-from-scraper (1c34166) — the library app that matches the live database (AppUser / slideshow_* / library_import_*, ~1M rows). The merge tree is byte-identical to that branch tip (the code currently running in production after the manual restore).

Why: the library-rebuild migration was applied to the prod DB but its branch was never integrated into main; redeploying main (the old scanner app) failed at db:seed (User table no longer exists). This makes main reflect reality so the audited redeploy_media_organizer flow is safe again.

Mechanic: supersede merge (-s ours + read-tree --reset) — the scanner commits (PRs #31–#38) remain in history via the first parent; only the tree is replaced. Deterministic, no conflicts.

Deferred: Immich-sync (#38) has no library-app equivalent (built on the deleted MediaFile model). The 3 empty Immich* tables are left in the DB for a possible future re-port; not addressed here.

After merge (deploy-host follow-ups, not in this PR): drop the -f docker-compose.override.yml arg from the ops-agent compose_up_media_organizer command (its media service + 127.0.0.1-only web ports break the library app; the base compose already binds correctly) + restart ops-agent; then point the deploy clone back to main.

Replaces `main`'s tree wholesale with `codex/library-rebuild-from-scraper` (`1c34166`) — the library app that matches the **live database** (`AppUser` / `slideshow_*` / `library_import_*`, ~1M rows). The merge tree is byte-identical to that branch tip (the code currently running in production after the manual restore). **Why:** the library-rebuild migration was applied to the prod DB but its branch was never integrated into `main`; redeploying `main` (the old scanner app) failed at `db:seed` (`User` table no longer exists). This makes `main` reflect reality so the audited `redeploy_media_organizer` flow is safe again. **Mechanic:** supersede merge (`-s ours` + `read-tree --reset`) — the scanner commits (PRs #31–#38) remain in history via the first parent; only the tree is replaced. Deterministic, no conflicts. **Deferred:** Immich-sync (#38) has no library-app equivalent (built on the deleted `MediaFile` model). The 3 empty `Immich*` tables are left in the DB for a possible future re-port; not addressed here. **After merge (deploy-host follow-ups, not in this PR):** drop the `-f docker-compose.override.yml` arg from the ops-agent `compose_up_media_organizer` command (its `media` service + 127.0.0.1-only web ports break the library app; the base compose already binds correctly) + restart ops-agent; then point the deploy clone back to `main`.
Make main the library app; supersede scanner
Some checks failed
CI / docker-build (pull_request) Failing after 4s
28d6125fe0
Replace main's tree wholesale with origin/codex/library-rebuild-from-scraper
(1c34166), which matches the live database (AppUser/slideshow/library_import,
~1M rows). The prior scanner app (PRs #31-#38) is superseded; those commits
remain in history via the merge's first parent. Immich-sync (#38) deferred as
separate backlog (3 empty Immich* tables left in the DB for a future re-port).
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/Media-Organizer!39
No description provided.