docker.recipes

Calibre-Web Ebook Server

beginner

Self-hosted ebook library with web-based reader, OPDS feed support, and Calibre database integration for managing your digital book collection.

Overview

Calibre-Web is a web-based application that provides a clean, modern interface for browsing and reading ebooks stored in a Calibre database. Originally developed as an alternative frontend to Calibre's built-in content server, Calibre-Web offers enhanced features like user management, custom shelves, reading progress tracking, and OPDS catalog support for e-reader integration. The application transforms your local Calibre library into a full-featured ebook server accessible from any device with a web browser. This Docker stack combines Calibre-Web with the LinuxServer.io Calibre modification, enabling direct ebook format conversion and metadata editing without requiring a separate Calibre installation. The configuration creates a self-contained ebook server that can manage thousands of books while providing features like send-to-Kindle functionality, goodreads integration, and advanced search capabilities. This setup is ideal for book enthusiasts, families sharing ebook collections, educational institutions managing digital libraries, and anyone seeking to centralize their ebook collection with professional library management features while maintaining complete control over their digital books.

Key Features

  • Web-based ebook reader supporting EPUB, PDF, CBR, CBZ and other formats with customizable reading settings
  • OPDS catalog feed generation for direct integration with e-reader devices and mobile reading applications
  • Built-in ebook format conversion using integrated Calibre engine for transforming between EPUB, MOBI, PDF and other formats
  • Send-to-Kindle email functionality for wireless ebook delivery to Amazon Kindle devices
  • User management system with reading progress synchronization and personal bookshelves
  • Goodreads integration for book ratings, reviews, and metadata enhancement
  • Advanced search and filtering with support for custom columns and metadata fields
  • Kobo e-reader synchronization for reading progress and library updates

Common Use Cases

  • 1Personal digital library management for organizing and accessing ebook collections across multiple devices
  • 2Family ebook sharing with individual user accounts and reading progress tracking
  • 3Educational institutions providing students access to digital textbooks and course materials
  • 4Book clubs and reading groups sharing recommended titles and discussion materials
  • 5Small libraries and community centers offering digital book lending services
  • 6Remote workers and travelers accessing their book collection from any location
  • 7Publishers and authors distributing review copies and advance reader copies to reviewers

Prerequisites

  • Existing Calibre library with metadata.db file or willingness to create new library structure
  • 512MB available RAM for basic operation, 1GB+ recommended for large libraries over 1000 books
  • Port 8083 available on host system for web interface access
  • Basic understanding of ebook formats and metadata management concepts
  • Storage space adequate for ebook collection plus 20% overhead for conversion cache
  • SMTP email server credentials if planning to use send-to-Kindle or notification features

For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

docker-compose.yml

docker-compose.yml
1services:
2 calibre-web:
3 image: linuxserver/calibre-web:latest
4 container_name: calibre-web
5 restart: unless-stopped
6 ports:
7 - "${CALIBRE_PORT:-8083}:8083"
8 environment:
9 - PUID=${PUID:-1000}
10 - PGID=${PGID:-1000}
11 - TZ=${TZ:-UTC}
12 - DOCKER_MODS=linuxserver/mods:universal-calibre
13 volumes:
14 - calibre_config:/config
15 - ${BOOKS_PATH:-./books}:/books
16
17volumes:
18 calibre_config:

.env Template

.env
1# Calibre-Web Configuration
2CALIBRE_PORT=8083
3TZ=UTC
4PUID=1000
5PGID=1000
6
7# Path to your Calibre library (must contain metadata.db)
8BOOKS_PATH=./books

Usage Notes

  1. 1Access Calibre-Web at http://localhost:8083
  2. 2Default login credentials: admin / admin123
  3. 3On first login, set the Calibre database location to /books
  4. 4Your books directory must contain a Calibre metadata.db file
  5. 5Enable ebook conversion in admin settings for format conversion
  6. 6OPDS feed available at /opds for e-reader sync

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 calibre-web:
5 image: linuxserver/calibre-web:latest
6 container_name: calibre-web
7 restart: unless-stopped
8 ports:
9 - "${CALIBRE_PORT:-8083}:8083"
10 environment:
11 - PUID=${PUID:-1000}
12 - PGID=${PGID:-1000}
13 - TZ=${TZ:-UTC}
14 - DOCKER_MODS=linuxserver/mods:universal-calibre
15 volumes:
16 - calibre_config:/config
17 - ${BOOKS_PATH:-./books}:/books
18
19volumes:
20 calibre_config:
21EOF
22
23# 2. Create the .env file
24cat > .env << 'EOF'
25# Calibre-Web Configuration
26CALIBRE_PORT=8083
27TZ=UTC
28PUID=1000
29PGID=1000
30
31# Path to your Calibre library (must contain metadata.db)
32BOOKS_PATH=./books
33EOF
34
35# 3. Start the services
36docker compose up -d
37
38# 4. View logs
39docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/calibre-web-stack/run | bash

Troubleshooting

  • Database not found error on first access: Ensure books directory contains valid Calibre metadata.db file or create empty library using Calibre desktop application
  • Ebook conversion fails with permission errors: Verify PUID and PGID environment variables match ownership of books directory on host system
  • OPDS feed returns empty results: Check that books have proper metadata and covers, regenerate thumbnails in admin settings
  • Send-to-Kindle emails not delivered: Configure SMTP settings in admin panel and verify Kindle email addresses are authorized in Amazon account settings
  • Web interface loads slowly with large libraries: Increase container memory allocation and enable database optimization in admin settings
  • Unable to upload new books: Ensure config volume has write permissions and sufficient disk space for temporary file processing

Community Notes

Loading...
Loading notes...

Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license

Ad Space