$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.

[i]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

  • [1]Personal digital library management for organizing and accessing ebook collections across multiple devices
  • [2]Family ebook sharing with individual user accounts and reading progress tracking
  • [3]Educational institutions providing students access to digital textbooks and course materials
  • [4]Book clubs and reading groups sharing recommended titles and discussion materials
  • [5]Small libraries and community centers offering digital book lending services
  • [6]Remote workers and travelers accessing their book collection from any location
  • [7]Publishers 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
[!]

WARNING: 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

[i]Usage Notes

  1. [1]Access Calibre-Web at http://localhost:8083
  2. [2]Default login credentials: admin / admin123
  3. [3]On first login, set the Calibre database location to /books
  4. [4]Your books directory must contain a Calibre metadata.db file
  5. [5]Enable ebook conversion in admin settings for format conversion
  6. [6]OPDS 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

## Components

calibre-web

## Tags

#ebooks#calibre#library#reading#opds

## Category

Media & Entertainment