From d1b080ef5e4e3adbba74e23ef1619b53c9f9c1e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kucharczyk?= Date: Mon, 12 Jan 2026 13:41:41 +0100 Subject: [PATCH] calibre-web-automated + calibre-web-automated-book-downloader: add --- .env | 3 ++ docker-compose.yml | 1 + services/calibre-web-automated.yml | 51 ++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 services/calibre-web-automated.yml diff --git a/.env b/.env index d6053b0..a8188f7 100644 --- a/.env +++ b/.env @@ -115,3 +115,6 @@ SABNZBD_INTERNAL_PORT=8080 QBITTORRENT_WEBUI_PORT=9092 QBITTORRENT_WEBUI_EXTERNAL_PORT=${QBITTORRENT_WEBUI_PORT} QBITTORRENT_WEBUI_INTERNAL_PORT=${QBITTORRENT_WEBUI_PORT} +CWA_CONFIG_DIR="${DOCKER_STORAGE_PATH}/calibre-web-automated/config" +CWA_DB_FILE=${CWA_CONFIG_DIR}/app.db +CWA_INGEST_DIR=${DOWNLOADS_PATH}/cwa-book-ingest diff --git a/docker-compose.yml b/docker-compose.yml index ba8400f..d6f12d9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -82,6 +82,7 @@ include: - services/handbrake-server.yml - services/redlib.yml - services/calibre-web.yml + - services/calibre-web-automated.yml - services/kavita.yml services: diff --git a/services/calibre-web-automated.yml b/services/calibre-web-automated.yml new file mode 100644 index 0000000..000b49d --- /dev/null +++ b/services/calibre-web-automated.yml @@ -0,0 +1,51 @@ +--- +services: + calibre-web-automated: + image: crocodilestick/calibre-web-automated:V3.1.4 + container_name: calibre-web-automated + ports: + - 8090:8083 + networks: + public: + ipv4_address: 192.168.240.64 + labels: + # HTTP is needed for Kobo sync to work + # otherwise downloading books to device fails + caddy: "cwa.${DOMAIN}, http://cwa.${DOMAIN}" + caddy.reverse_proxy: "{{ upstreams 8083 }}" + environment: + - PUID=${PUID} + - PGID=${PGID} + - TZ=${TZ} + volumes: + - ${CWA_CONFIG_DIR}:/config + # calibre-web-automated only supports one library as of 2026-01-12 + - "${DOCKER_STORAGE_PATH_SLOW}/syncthing/shares/Calibre Library/Lukáš:/calibre-library" + - ${CWA_INGEST_DIR}:/cwa-book-ingest + - ${DOCKER_STORAGE_PATH}/calibre-web-automated/plugins:/config/.config/calibre/plugins + - ${DOCKER_STORAGE_PATH}/calibre-web-automated/customize.py.json:/config/.config/calibre/customize.py.json + restart: unless-stopped + + calibre-web-automated-book-downloader: + image: ghcr.io/calibrain/calibre-web-automated-book-downloader:0.4.0 + container_name: calibre-web-automated-book-downloader + environment: + TZ: ${TZ} + UID: ${PUID} + GID: ${PGID} + CWA_DB_PATH: "/auth/app.db" + ports: + - 8084:8084 + restart: unless-stopped + volumes: + - ${DOCKER_STORAGE_PATH}/calibre-web-automated-downloader/config:/config + # point to the same ingest folder as calibre-web-automated + - ${CWA_INGEST_DIR}:/cwa-book-ingest + # re-use calibre-web-automated user database + - ${CWA_DB_FILE}:/auth/app.db:ro + healthcheck: + test: ["CMD", "curl", "-sf", "http://localhost:8084/api/health"] + interval: 30s + timeout: 30s + retries: 3 +