From b78c6df7804a571588c62422ebddea95fd9d41f6 Mon Sep 17 00:00:00 2001 From: Stellar Rounin Date: Thu, 8 Jan 2026 14:32:32 -0600 Subject: [PATCH] feat(service): add calibre web automated with downloader template (#6419) --- .../calibre-web-automated-with-downloader.png | Bin 0 -> 22559 bytes ...calibre-web-automated-book-downloader.yaml | 45 ++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 public/svgs/calibre-web-automated-with-downloader.png create mode 100644 templates/compose/calibre-web-automated-book-downloader.yaml diff --git a/public/svgs/calibre-web-automated-with-downloader.png b/public/svgs/calibre-web-automated-with-downloader.png new file mode 100644 index 0000000000000000000000000000000000000000..758b268223c7d0d87fe0f53b56b833d3a9054035 GIT binary patch literal 22559 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

lkbCZa`t= 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 literal 0 HcmV?d00001 diff --git a/templates/compose/calibre-web-automated-book-downloader.yaml b/templates/compose/calibre-web-automated-book-downloader.yaml new file mode 100644 index 000000000..37f8a2752 --- /dev/null +++ b/templates/compose/calibre-web-automated-book-downloader.yaml @@ -0,0 +1,45 @@ +# documentation: https://github.com/calibrain/calibre-web-automated-book-downloader +# slogan: An intuitive web interface for searching and requesting book downloads, designed to work seamlessly with Calibre-Web-Automated. +# tags: calibre,calibre-web,ebook,library,epub,ereader,kindle,book,reader,download,downloader +# logo: svgs/calibre-web-automated-with-downloader.png +# port: 8083 + +services: + calibre-web-automated: + image: crocodilestick/calibre-web-automated:latest + environment: + - SERVICE_URL_CWA_8083 + - PUID=${PUID:-1000} + - PGID=${PGID:-1000} + - TZ=${TZ:-UTC} + - NETWORK_SHARE_MODE=${NETWORK_SHARE_MODE:-false} + volumes: + - cwa-config:/config + - cwa-book-ingest:/cwa-book-ingest + - calibre-library:/calibre-library + - calibre-plugins:/config/.config/calibre/plugins + healthcheck: + test: + - CMD-SHELL + - 'curl -fs http://localhost:8083 || exit 1' + interval: 30s + timeout: 10s + retries: 3 + start_period: 30s + + calibre-web-downloader: + image: ghcr.io/calibrain/calibre-web-automated-book-downloader:latest + environment: + - SERVICE_URL_DOWNLOADER_8084 + - FLASK_PORT=${FLASK_PORT:-8084} + - LOG_LEVEL=${LOG_LEVEL:-info} + - BOOK_LANGUAGE=${BOOK_LANGUAGE:-en} + - USE_BOOK_TITLE=${USE_BOOK_TITLE:-true} + - TZ=${TZ:-America/New_York} + - APP_ENV=${APP_ENV:-prod} + - UID=${UID:-1000} + - GID=${GID:-100} + - CWA_DB_PATH=${CWA_DB_PATH:-/cwa-config/app.db} + volumes: + - cwa-book-ingest:/cwa-book-ingest + - cwa-config:/cwa-config