Calibre

Calibre

e-Book Manager (Desktop GUI)

Calibre is a powerful and easy to use e-book manager. Users say it’s outstanding and a must-have. It’ll allow you to do nearly everything and it takes things a step beyond normal e-book software. It’s also completely free and open source and great for both casual users and computer experts.

Application setup:

  • Create the library at /books
  • For Readarr integration: Enable Content Server at Preferences -> Sharing over the net, enable “Require username and password to access the Content server”
  • Optional: Install plugins at Preferences -> Get plugins

Book database (STORAGE_CALIBRE_LIBRARY) is not recommended to mounted via SMB due to locking issue (“DB appears locked”). A possible fix: https://www.mobileread.com/forums/showpost.php?s=2a2bb1273085bedaedd817ada675c7df&p=3460465&postcount=9

📜 Source: https://calibre-ebook.com/
📦 Image: https://docs.linuxserver.io/images/docker-calibre/

name: calibre
services:
  calibre:
    image: lscr.io/linuxserver/calibre:7.18.0
    container_name: calibre
    restart: unless-stopped
    # kics-scan ignore-line
    security_opt:
      - seccomp:unconfined # optional
    environment:
      PUID: ${PUID}
      PGID: ${PGID}
      TZ: ${TIMEZONE}
      PASSWORD: # optional GUI password
      CLI_ARGS: # optional - see https://manual.calibre-ebook.com/generated/en/calibre.html
    volumes:
      - ${DOCKER_VOLUMES}/calibre:/config
      - ${STORAGE_CALIBRE_LIBRARY}:/books
      - ${STORAGE_CALIBRE_LIBRARY_HUN}:/books-hun
      - ${STORAGE_DOWNLOADS}:/downloads:ro
    networks:
      - proxy
    labels:
      traefik.enable: true

      # Desktop GUI (via KasmVNC)
      traefik.http.routers.calibre.service: calibre
      traefik.http.routers.calibre.entrypoints: websecure
      traefik.http.routers.calibre.middlewares: https-local@file
      traefik.http.services.calibre.loadbalancer.server.port: 8080

      # Content Server (OPDS Catalog)
      # URL: https://calibre-server.${MYDOMAIN}/opds
      # Set Preferences -> Sharing over the net -> Advanced -> Authentication: basic
      traefik.http.routers.calibre-server.service: calibre-server
      traefik.http.routers.calibre-server.entrypoints: websecure
      traefik.http.routers.calibre-server.middlewares: https-local@file
      traefik.http.routers.calibre-server.rule: Host(`calibre-server.${MYDOMAIN}`)
      traefik.http.services.calibre-server.loadbalancer.server.port: 8081

      homepage.group: Media
      homepage.name: Calibre
      homepage.icon: calibre.png
      homepage.href: https://calibre.${MYDOMAIN}/
      homepage.description: e-Book Manager (Desktop GUI)

networks:
  proxy:
    external: true