1
0
Files
docker-compose-templates/services/calibre-web-automated.yml
T
2026-06-12 11:50:08 +02:00

76 lines
2.6 KiB
YAML

---
secrets:
hardcover_api_token:
file: ../secrets/hardcover_api_token
services:
calibre-web-automated:
image: crocodilestick/calibre-web-automated:v4.0.6
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}, http://books.${DOMAIN_LOCAL}, books.${DOMAIN_LOCAL}"
caddy.reverse_proxy: "{{ upstreams 8083 }}"
secrets:
- hardcover_api_token
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
# LinuxServer baseimage reads the value from the secret file
- FILE__HARDCOVER_TOKEN=/run/secrets/hardcover_api_token
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
shelfmark:
image: ghcr.io/calibrain/shelfmark:1.3.0
container_name: shelfmark
env_file:
- ../secrets/shelfmark.env
environment:
TZ: ${TZ}
PUID: ${PUID}
PGID: ${PGID}
CWA_DB_PATH: "/auth/app.db"
HIDE_LOCAL_AUTH: true
OIDC_AUTO_REDIRECT: true
AUTH_METHOD: oidc
OIDC_DISCOVERY_URL: https://authentik.kucharczyk.xyz/application/o/shelfmark/.well-known/openid-configuration
# shelfmark has no _FILE/secret support; OIDC_CLIENT_ID and
# OIDC_CLIENT_SECRET come from secrets/shelfmark.env (env_file below)
OIDC_BUTTON_LABEL: Sign in with Authentik
networks:
public:
ipv4_address: 192.168.240.68
labels:
caddy: shelfmark.${DOMAIN_LOCAL}
caddy.reverse_proxy: "{{ upstreams 8084 }}"
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
- "${DOWNLOADS_PATH}/sabnzbd:/downloads"
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:8084/api/health"]
interval: 30s
timeout: 30s
retries: 3