Files
serverAppConfigs/docs/Dankserver/Calibre-Web.md
T
Frank e8fd009419 docs: fact-check sweep, Jellyfin, *arr stack, and ROM scraping guides
Fact-check results:
- RomM 5.2.0: MariaDB+Redis now required (was SQLite), auth var renamed, 11 metadata providers
- Copyparty v1.20.19: 3 CVEs fixed, WOPI integration, docker editions documented
- Calibre-Web 0.6.27-ls397: version pinning, kepubify auto-config, CVE fixes
- Calibre 9.9.0: content server security fix noted

New documentation:
- docs/Dankserver/Jellyfin.md — full media server guide (compose, Caddy, GPU, metadata, clients)
- docs/Dankserver/ARR-Stack.md — automated download stack overview
- docs/Dankserver/RomM-Scraping.md — metadata providers, naming, cover art, emulator integration
- docs/Dankserver/sonarr.md, radarr.md, lidarr.md, readarr.md, prowlarr.md, qbittorrent.md
- docs/Dankserver/mariadb.md, redis.md — supporting services for RomM

Infrastructure updates:
- dankserver/compose.yaml: added mariadb, redis, jellyfin, *arr services
- dankserver/Caddyfile: added hostnames for all new services
- dankserver/.env.example: added all new environment variables
- docs/index.md: linked all new documentation pages

Tested: 52/52 tests pass.
2026-08-20 23:40:07 -07:00

3.7 KiB

Calibre-Web

Calibre-Web is a web application that browses, reads, and downloads eBooks from an existing Calibre library database. It serves as the web frontend for the Calibre e-book manager.

Host: Dankserver — Hostname: books.dankserver.local — Docs: https://github.com/linuxserver/docker-calibre-web

Facts

Item Value
Latest version 0.6.27-ls397
Image lscr.io/linuxserver/calibre-web:0.6.27-ls397
Base OS Ubuntu Noble (24.04 LTS, since 2024-12-05)
Port 8083 (host) → 8083 (container)
Default login admin / admin123
Docker mod linuxserver/mods:universal-calibre (ebook conversion, x86-64 only)
Volumes /config (internal database + config), /books (existing Calibre library)
Extra tools unrar at /usr/bin/unrar, kepubify at /usr/bin/kepubify (pre-configured since 2025-01-07)

CVEs Fixed in Latest Version

CVE Issue
CVE-2025-7404 External binary names (e.g. unrar) restricted to prevent RCE
— XSS in book comments imported via Calibre, now sanitized

Additional packages added: libxfixes3 and libasound2t64 to support epub-to-pdf conversion. The --no-sandbox flag is applied to qtwebengine to prevent crashes in Docker.

Configuration

Environment Variables

Variable Value Description
PUID 1000 User ID
PGID 1000 Group ID
TZ Etc/UTC Timezone
DOCKER_MODS linuxserver/mods:universal-calibre Optional: enables ebook conversion tools
OAUTHLIB_RELAX_TOKEN_SCOPE 1 Required for Google OAuth

Setup Steps

  1. Point the container at the Calibre library directory (set the /books volume).
  2. Log in with admin / admin123 and change the password immediately.
  3. In Basic Configuration → Calibre Database → set Location of Calibre database to /books.
  4. In Basic Configuration → External Binaries → set the directory to /usr/bin/ for Calibre-Web >= 0.6.22.
  5. kepubify is pre-configured since version 0.6.27. No need to set the kepubify path manually.
  6. Set up Google OAuth if desired (requires OAUTHLIB_RELAX_TOKEN_SCOPE=1).

Volumes

Container path Host path (convention)
/config /opt/calibre-web/config
/books The existing Calibre library directory (user-entered during setup)

Docker Compose

services:
  calibre-web:
    image: lscr.io/linuxserver/calibre-web:0.6.27-ls397
    container_name: calibre-web
    restart: unless-stopped
    environment:
      PUID: "1000"
      PGID: "1000"
      TZ: Etc/UTC
      OAUTHLIB_RELAX_TOKEN_SCOPE: "1"
    ports:
      - "8083:8083"
    volumes:
      - /opt/calibre-web/config:/config
      - /opt/calibre-web/books:/books
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8083/"]
      interval: 30s
      timeout: 10s
      retries: 3

Gotchas

  • Wrong database path: Login appears to succeed but the library is empty. Verify the Calibre database path in the admin page.
  • Ebook conversion: Requires the universal-calibre Docker mod AND the external binary path set to /usr/bin/ (directory, not full path to ebook-convert).
  • Google OAuth: Set OAUTHLIB_RELAX_TOKEN_SCOPE=1 or OAuth login fails.
  • calibre 9.9.0 content server security fix: 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.

See Also

  • Dankserver Stack
  • Calibre — the underlying library engine (host tool, not a container)
  • ARR-Stack — Readarr for automatic ebook downloads into the Calibre library