All in-repo path references (AGENTS.md, README, old scripts, report artifacts,
test code paths) rewritten in the same commit; focused-test map extended for
.gitignore, old/scripts/*, dankclaw/comfyui/*, and report/* per this repo's
own convention ('add one before committing'). Obsidian wikilinks are
title-based and unaffected.
2.6 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
| Purpose | Host path (convention) |
|---|---|
| Calibre library | /opt/calibre-web/books (bind-mounted to /books in the Calibre-Web container) |
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(thedankuser on Dankserver).
Optional: Calibre Content Server
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
--mobileflag - 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
- Calibre-Web — the containerized frontend
- Dankserver Stack
- ARR-Stack — Readarr for automatic ebook downloads