Audit against PyPI revealed almost every pin in requirements.txt and
requirements-ml.txt was significantly behind. Most bumps are minor-major
catch-up; a handful are major-version jumps.
requirements.txt:
- quart 0.19 -> 0.20
- hypercorn 0.16 -> 0.18 (now declares 3.14 support)
- asyncpg 0.30 -> 0.31
- psycopg 3.2 -> 3.3
- alembic 1.13 -> 1.18 (5 minors stale)
- pgvector 0.2 -> 0.4 (2 minors stale)
- celery 5.4 -> 5.6
- redis 5.0 -> 7.4 (major jump)
- cryptography 44 -> 48
- pillow 11.1 -> 12 (major jump; 12.x has 3.14 wheels)
- gallery-dl 1.27 -> 1.32 (5 minors stale)
- python-dotenv 1.0 -> 1.2
- structlog 24.1 -> 25.5 (major jump)
(sqlalchemy 2.0 line is current. imagehash 4.3.2 was already in range.)
requirements-ml.txt (not exercised by CI yet; FC-2b territory):
- torch 2.2 -> 2.12 (10 minors stale)
- torchvision 0.17 -> 0.27 (CAVEAT: excludes Python 3.14.1
specifically — inline comment added)
- transformers 4.40 -> 5.8 (major)
- onnxruntime 1.17 -> 1.26
- huggingface-hub 0.22 -> 1.14 (major)
- opencv-python-headless 4.9 -> 4.13
The torchvision 3.14.1 exclusion is a real footgun — the python-ci
runner pulls python:3.14-bookworm (latest patch); if that ever resolves
to 3.14.1, the ml-worker image build will fail. FC-2b will exercise this
path for the first time, so the constraint is documented inline rather
than worked around now.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
FabledCurator
Self-hosted media curation — gallery, ML tagging, and subscription-driven downloading in one app. Part of the FabledSword family.
Combines what was ImageRepo (gallery, ML, importer) and GallerySubscriber (gallery-dl wrapper, subscriptions, credential capture) into a single product.
Status
Pre-v1. Not yet functional.
Quick start
cp .env.example .env
# edit .env: set DB_PASSWORD and SECRET_KEY
docker compose up -d
# UI: http://localhost:8080
Deployment posture
FabledCurator is designed to run inside a self-hosted homelab environment over plain HTTP. If you want TLS, terminate it at your reverse proxy. The app does not generate certificates, redirect to HTTPS, or set HSTS.
CI / Forgejo setup
The repo's workflows expect:
-
Runner label
python-ci— a Forgejo runner with Python 3.14, ruff, and Node 22 pre-installed. Bothci.ymlandbuild.ymluse this label. The runner image (runner-base:python-ci) is built fromCI-Runner/CI-python/in the operator's workspace;make pushfrom that directory builds and pushes a new image when toolchain pins change. -
Repo secret
RELEASE_TOKEN— a Forgejo PAT with the following scopes:write:package+read:package— fordocker pushtogit.fabledsword.comwrite:release— for future release-cutting workflowswrite:issue— for future issue-management automation
Generate at https://git.fabledsword.com/user/settings/applications. The injected
GITHUB_TOKENcannot be used because it lackswrite:package.
License
Personal project; use at your own discretion.