58 lines
2.8 KiB
YAML
58 lines
2.8 KiB
YAML
services:
|
|
# ------------------------------------------------------------------
|
|
# Manga: Suwayomi -> Kavita mover + metadata enrichment
|
|
# ------------------------------------------------------------------
|
|
manga-mover-and-metadata-collector:
|
|
image: gitea.johannesbot.de/johannesbot/manga-mover-and-metadata-collector:latest
|
|
container_name: manga-mover-and-metadata-collector
|
|
restart: unless-stopped
|
|
environment:
|
|
KAVITA_URL: "${KAVITA_URL}"
|
|
KAVITA_API_KEY: "${KAVITA_API_KEY}"
|
|
LANGUAGE: "${LANGUAGE:-en}"
|
|
SETTLE_SECONDS: "${SETTLE_SECONDS:-600}"
|
|
DELETE_SOURCE: "${DELETE_SOURCE:-true}"
|
|
MATCH_PATH: "/config/matches.json"
|
|
# Periodic updaters (volume/cover back-fill + global person sync) run
|
|
# together on this cron. "0 10 * * 0" = Sundays 10:00 (local time, see TZ)
|
|
UPDATER_ENABLED: "${UPDATER_ENABLED:-true}"
|
|
UPDATER_SCHEDULE: "${UPDATER_SCHEDULE:-0 10 * * 0}"
|
|
UPDATER_LOG: "/config/volume_updater.log"
|
|
# Persistent cover cache (empty = temp dir, deleted on container stop)
|
|
COVER_CACHE_PATH: "${COVER_CACHE_PATH:-/config/covers}"
|
|
# Per-step timing stats (viewable at /perf, /perf/volume, /perf/person)
|
|
PERF_PATH: "${PERF_PATH:-/config/perf_stats.json}"
|
|
VOLUME_PERF_PATH: "${VOLUME_PERF_PATH:-/config/volume_perf_stats.json}"
|
|
PERSON_PERF_PATH: "${PERSON_PERF_PATH:-/config/person_perf_stats.json}"
|
|
# Timezone for the cron schedule — without this 10:00 means 10:00 UTC
|
|
TZ: "${TZ:-Europe/Berlin}"
|
|
ports:
|
|
- "${MANGA_WEB_PORT:-8080}:8080"
|
|
volumes:
|
|
- "${HOST_SUWAYOMI_PATH}:/mnt/suwayomi"
|
|
- "${HOST_KAVITA_PATH}:/mnt/kavita"
|
|
- "${HOST_MANGA_CONFIG_PATH}:/config"
|
|
|
|
# ------------------------------------------------------------------
|
|
# Light novels: Kavita metadata fetcher (HTTP only, no file mover)
|
|
# ------------------------------------------------------------------
|
|
kavita-lightnovel-metadata-fetcher:
|
|
image: gitea.johannesbot.de/johannesbot/kavita-lightnovel-metadata-fetcher:latest
|
|
container_name: kavita-lightnovel-metadata-fetcher
|
|
restart: unless-stopped
|
|
environment:
|
|
KAVITA_URL: "${KAVITA_URL}"
|
|
KAVITA_API_KEY: "${KAVITA_API_KEY}"
|
|
LIBRARY_IDS: "${LN_LIBRARY_IDS}"
|
|
LANGUAGE: "${LANGUAGE:-en}"
|
|
MATCH_PATH: "/config/matches.json"
|
|
# Global person sync on cron (same default cadence as the manga side)
|
|
UPDATER_ENABLED: "${LN_UPDATER_ENABLED:-true}"
|
|
UPDATER_SCHEDULE: "${UPDATER_SCHEDULE:-0 10 * * 0}"
|
|
PERSON_PERF_PATH: "${PERSON_PERF_PATH:-/config/person_perf_stats.json}"
|
|
TZ: "${TZ:-Europe/Berlin}"
|
|
ports:
|
|
- "${LN_WEB_PORT:-8081}:8080"
|
|
volumes:
|
|
- "${HOST_LN_CONFIG_PATH}:/config"
|