Running Locally
Dev server
bash
cd apps/api
python -m app.main- Reload is auto-enabled in dev; disabled for packaged runs
- Set
ANIBRIDGE_RELOAD=1to force reload
Docker dev stack
For the full Sonarr/Radarr/Prowlarr workflow in containers, use the development compose file in watch mode:
bash
docker compose -f docker/compose.dev.yaml up --watch- Python source changes under
apps/api/app/are synced into the running AniBridge container. - Uvicorn reload picks those changes up without rebuilding the whole image.
- Changes to
apps/api/pyproject.toml,apps/api/uv.lock,apps/api/Dockerfile,docker/entrypoint.sh,VERSION, orapps/api/alembic.initrigger an AniBridge image rebuild automatically. - On Windows/Docker Desktop, shell scripts must use LF line endings. The image normalizes
docker/entrypoint.shduring build, and the repo ships.gitattributesrules to keep shell and Docker files on LF.
Envs
Use .env or export vars. See Environment.
When running from source, AniBridge defaults DATA_DIR and DOWNLOAD_DIR to the repository root data/ directory even if you launch it from apps/api/.
Useful curl
bash
curl -sS localhost:8000/healthbash
curl -sS 'http://localhost:8000/torznab/api?t=caps'bash
curl -sS -X POST localhost:8000/downloader/download \
-H 'content-type: application/json' \
-d '{"slug":"your-slug","season":1,"episode":1,"language":"German Dub"}'