Calibre-Web Automated Calibre-Web Automated

All-in-one self-hosted digital library with automated ebook ingest, conversion and management

Calibre-Web Automated (formerly Calibre-Web Automator) combines the modern lightweight Calibre-Web UI with the robust feature set of Calibre, plus a slew of extra automations. It provides automatic ingest, conversion, metadata fetch, cover/metadata enforcement, EPUB fixing, duplicate detection, KOReader syncing (KOSync), enhanced OAuth 2.0/OIDC authentication and more.

Default login: admin / admin123

Links:

TODO: Change the default admin credentials after first login and enable Uploads under Settings -> Basic Configuration -> Feature Configuration. TODO: Configure CWA-specific behaviour in the CWA Settings panel (target format, ignored / auto-converted formats). TODO: Consider migrating/replacing the existing calibre-web service to avoid two services managing the same library. TODO: Optional: set HARDCOVER_TOKEN for the Hardcover metadata provider (https://docs.hardcover.app/api/getting-started/). TODO: Optional: bind a Calibre plugins folder to /config/.config/calibre/plugins and copy customize.py.json into it.

name: calibre-web-automated
services:
  calibre-web-automated:
    image: crocodilestick/calibre-web-automated:v4.0.6
    container_name: calibre-web-automated
    restart: unless-stopped
    environment:
      PUID: ${PUID}
      PGID: ${PGID}
      TZ: ${TIMEZONE}
      HARDCOVER_TOKEN: ${HARDCOVER_TOKEN} # optional - Hardcover metadata provider
      NETWORK_SHARE_MODE: false # library is on local disk; set true for NFS/SMB
      TRUSTED_PROXY_COUNT: 2 # Cloudflare Tunnel -> Traefik -> CWA
    # Large library scan + known fd leak (https://github.com/crocodilestick/Calibre-Web-Automated/issues/1108)
    ulimits:
      nofile:
        soft: 65536
        hard: 65536
    volumes:
      - ${DOCKER_VOLUMES}/calibre-web-automated:/config
      - ${STORAGE_CWA_INGEST_PATH}:/cwa-book-ingest # files are removed after processing
      - ${STORAGE_CALIBRE_LIBRARY}:/calibre-library # shared with the calibre service (/books)
    networks:
      - proxy
    labels:
      traefik.enable: true
      traefik.http.routers.calibre-web-automated.rule: Host(`calibre-web-automated.${MYDOMAIN}`)
      traefik.http.routers.calibre-web-automated.middlewares: localaccess@file
      traefik.http.services.calibre-web-automated.loadbalancer.server.port: 8083
      homepage.group: Media
      homepage.name: Calibre-Web Automated
      homepage.icon: calibre-web.png
      homepage.href: https://calibre-web-automated.${MYDOMAIN}/
      homepage.description: All-in-one self-hosted digital library with automated ebook ingest, conversion and management

networks:
  proxy:
    external: true