-
released this
2026-05-22 14:16:23 -04:00 | 769 commits to dev since this releaseFirst FabledCurator release. Merges FC-1 (Foundation) → FC-5 (Migration tooling) onto
mainfromdev. CalVer perFabledRulebook/forgejo.md.What's in this build
The full FabledCurator merge of ImageRepo + GallerySubscriber:
- FC-1 Foundation — Quart + Vue scaffold, unified Postgres schema (migrations 0001–0015), Celery + Redis, Docker setup.
- FC-2 Image backbone (a–e) — gallery / showcase / modal viewer, importer with sha+phash dedup, ML pipeline (WD14 + SigLIP + centroids), discovery surfaces (tag directory, merge, bulk select, series), provenance system (artist as row, post + image_provenance + post_attachment), integrity verification.
- FC-3 Subscription backbone (a–f) — Sources management, encrypted Credentials store, gallery-dl Downloader, Scheduling + source health with exponential backoff, Posts stream, Artists directory.
- FC-5 Migration tooling — file-based ingest UI for ImageRepo + GallerySubscriber exports (
/api/migrate/*,LegacyMigrationCard), backup + rollback, ML re-queue, sha256-sample verify.
Coordinated export scripts on
mainof the legacy repos:bvandeusen/imagerepo@2fb1a2a—scripts/export_for_fabledcurator.py.bvandeusen/GallerySubscriber@d47b4c8—scripts/export_for_fabledcurator.py.
Operator notes (migration workflow)
- Pull this image:
git.fabledsword.com/bvandeusen/fabledcurator:main(or:latest). docker compose up -dwith the standard FC compose file. On first bootalembic upgrade headbrings the schema from empty to 0015.- Run the export scripts on the host:
python ~/Nextcloud/Projects/ImageRepo/scripts/export_for_fabledcurator.py > ~/ir-export.jsonpython ~/Nextcloud/Projects/GallerySubscriber/scripts/export_for_fabledcurator.py --secret-key "$GS_SECRET_KEY" > ~/gs-export.json
- Bind-mount IR's images dir at
/import/imagerepo:roper the docker-compose.yml example. - In FC UI → Settings → Maintenance → Legacy migration:
- Click Backup FC (creates pre-migration snapshot).
- Upload
gs-export.json, click Ingest GS. - Upload
ir-export.json, click Ingest IR. - Switch to Settings → Import tab → trigger the filesystem scan.
- Back to Maintenance → Apply IR tags → Queue ML → Verify.
- Once verified, delete the export JSON files (the GS one contains plaintext credentials).
Constraints
Homelab HTTP. No TLS in the app itself. Self-hosted single-operator. ImageRepo + GallerySubscriber become archived once this build's migration completes on the homelab.
Downloads