Files
serverAppConfigs/serverAppConfigs-docs/Dankserver/Calibre.md
T
Frank 8212d4451a docs: rename frank-default-large/small/sightsound to frank-large/small/npu across vault
Mechanical identity rename across the knowledge base, AGENTS.md, README, the
hermes config example, and homepage services.json. No behavior change; served
aliases on the LLM endpoints change with the deploy of commit 69f87c8.
2026-09-03 16:17:14 -07:00

2.8 KiB

Calibre

Calibre is the e-book library manager that backs Calibre-Web. It manages metadata, formats, and conversions for the library that Calibre-Web serves.

Host: Dankserver (library directory on host) — Docs: https://calibre-ebook.com

Role in this Stack

Calibre itself is a desktop/GUI application, not a container service. This stack runs Calibre-Web in a container and points it at an existing Calibre library directory on the Dankserver host.

Calibre is used to:

  • Import books into the library (drag-and-drop or CLI calibredb)
  • Edit metadata (author, title, series, tags, cover art)
  • Convert between formats (EPUB → MOBI, MOBI → EPUB, etc.)
  • Manage collections and reading lists

The actual library files (.epub, .mobi, .pdf) and the Calibre database (.db file) live on the host filesystem. Calibre-Web reads and writes them through the mounted volume.

Current Version

Calibre 9.2.1 is the version on the live host (9.9.0 is the upstream latest). Major features include:

  • Bookshelf view
  • Opt-in AI features
  • Content server security fix (CVE-2025-7404 equivalent): a bug since v6.16.0 allows any user with server access to read non-Calibre files on the host. Upgrade to 9.9.0+ if serving content to untrusted users.

Library Directory

The live Calibre-Web container bind-mounts the library at /books:

Purpose Host path (live)
Calibre library /home/dank/Containers/calibre-web/books → /books in the Calibre-Web container

(The older /opt/calibre-web/books path was the compose-era location and is gone; the quadlet unit mounts the Containers data root.)

What the Container Needs

  • Read/write access to the library directory. Calibre-Web edits metadata through the database file.
  • Ownership matching PUID=1000 / PGID=1000 (the dank user on Dankserver).

Optional: Calibre Content Server (not running)

Calibre includes a built-in HTTP content server (calibre-server) that can serve the library via OPDS feeds and a mobile-friendly web interface. This enables:

  • OPDS feeds for mobile reading apps (FBReader, Moon+ Reader)
  • Mobile-optimized UI via the --mobile flag
  • Direct Kindle push

To run as a container:

services:
  calibre-server:
    image: lscr.io/linuxserver/calibre:latest
    container_name: calibre-server
    restart: unless-stopped
    environment:
      PUID: "1000"
      PGID: "1000"
      TZ: Etc/UTC
    command: calibre-server --daemonize --port 8080 --enable-auth --url-prefix /calibre /books
    volumes:
      - /opt/calibre-web/books:/books
    ports:
      - "8084:8080"

Note: The content server runs headless in --daemonize mode. It requires the full Calibre package, not a minimal server.

See Also