feat(updater): add KavitaVolumeCoverUpdater for back-filling null volumes
Build and Deploy / build (push) Successful in 22s
Build and Deploy / deploy (push) Successful in 36s

Introduce a new background service that periodically re-checks chapters
whose volume could not be resolved at move time.

- Add KavitaVolumeCoverUpdater.py to resolve null volumes via MangaDex,
  update ComicInfo.xml in-archive, and swap in MangaBaka volume covers
- Wire updater into main.py entry point with UPDATER_ENABLED env flag
- Add UPDATER_ENABLED env var to docker-compose.prod.yml
- Update CronSchedule.py to schedule updater runs
This commit is contained in:
2026-06-10 13:09:01 +02:00
parent 59ea1f8c8f
commit 4557137ad0
5 changed files with 746 additions and 5 deletions
+8
View File
@@ -11,6 +11,14 @@ services:
DELETE_SOURCE: "${DELETE_SOURCE:-true}"
MATCH_PATH: "${MATCH_PATH:-/config/matches.json}"
WEB_PORT: "${WEB_PORT:-8080}"
# Volume/cover back-fill updater
UPDATER_ENABLED: "${UPDATER_ENABLED:-true}"
# Cron expression: "0 19 * * 1,4" = 19:00 every Monday and Thursday
# (local time, see TZ)
UPDATER_SCHEDULE: "${UPDATER_SCHEDULE:-0 19 * * 1,4}"
UPDATER_LOG: "${UPDATER_LOG:-/config/volume_updater.log}"
# Timezone for the cron schedule — without this 19:00 means 19:00 UTC
TZ: "${TZ:-Europe/Berlin}"
ports:
- "${WEB_PORT:-8080}:${WEB_PORT:-8080}"
volumes: