docker.recipes

Calibre-Web Library

beginner

Web interface for browsing Calibre ebook library.

Overview

Calibre-Web is a modern web application that provides a clean, responsive interface for browsing and managing Calibre ebook libraries through a web browser. Originally developed as an alternative to Calibre's built-in content server, Calibre-Web offers advanced features like user management, reading progress tracking, and OPDS catalog support for ebook readers. The application reads existing Calibre library databases without modifying them, making it safe to run alongside desktop Calibre installations. This Docker deployment uses the LinuxServer.io image with the universal-calibre mod, which adds the full Calibre toolkit directly into the container. This enables advanced features like ebook format conversion, metadata editing, and email delivery without requiring a separate Calibre installation on the host system. The configuration provides persistent storage for user settings, reading progress, and custom book covers while keeping the original library files separate. Book enthusiasts, librarians, and families with extensive ebook collections will find this setup invaluable for creating a centralized digital library accessible from any device. The combination of Calibre-Web's modern interface with the full Calibre toolset makes it ideal for users who want both casual browsing capabilities and professional library management features in a single containerized solution.

Key Features

  • Responsive web interface optimized for desktop and mobile ebook browsing
  • Multi-user support with individual reading lists, favorites, and progress tracking
  • OPDS catalog integration for direct connection with ebook reader apps
  • Built-in ebook reader supporting EPUB, PDF, CBR, CBZ, and TXT formats
  • Send-to-Kindle functionality with automatic format conversion
  • Advanced search and filtering with custom column support from Calibre libraries
  • User authentication with role-based permissions and reading restrictions
  • Automatic metadata fetching and cover art downloading for new books

Common Use Cases

  • 1Home libraries wanting to share ebook collections across family members and devices
  • 2Small libraries and reading groups providing digital book access to members
  • 3Remote workers accessing their personal ebook library from multiple locations
  • 4Book collectors organizing and browsing large digital libraries through modern interfaces
  • 5Educational institutions providing students access to digital textbook collections
  • 6Reading enthusiasts who want progress tracking and reading statistics across devices
  • 7Users with mixed device ecosystems needing format conversion and delivery features

Prerequisites

  • Existing Calibre library with metadata.db file (can be created with desktop Calibre)
  • At least 512MB RAM for basic operation, 1GB+ recommended for large libraries
  • Port 8083 available on the host system for web interface access
  • Storage space for configuration data and optional book format conversions
  • Basic understanding of file permissions if using custom PUID/PGID values
  • SMTP server credentials if planning to use send-to-email 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: lscr.io/linuxserver/calibre-web:latest
4 container_name: calibre-web
5 environment:
6 - PUID=1000
7 - PGID=1000
8 - TZ=UTC
9 - DOCKER_MODS=linuxserver/mods:universal-calibre
10 volumes:
11 - calibre-config:/config
12 - /path/to/books:/books
13 ports:
14 - "8083:8083"
15 networks:
16 - calibre-network
17 restart: unless-stopped
18
19volumes:
20 calibre-config:
21
22networks:
23 calibre-network:
24 driver: bridge

.env Template

.env
1# Calibre-Web
2# Change /path/to/books to your Calibre library location

Usage Notes

  1. 1Web UI at http://localhost:8083
  2. 2Default login: admin / admin123
  3. 3Point to Calibre metadata.db
  4. 4OPDS catalog support
  5. 5Send to Kindle feature

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 calibre-web:
5 image: lscr.io/linuxserver/calibre-web:latest
6 container_name: calibre-web
7 environment:
8 - PUID=1000
9 - PGID=1000
10 - TZ=UTC
11 - DOCKER_MODS=linuxserver/mods:universal-calibre
12 volumes:
13 - calibre-config:/config
14 - /path/to/books:/books
15 ports:
16 - "8083:8083"
17 networks:
18 - calibre-network
19 restart: unless-stopped
20
21volumes:
22 calibre-config:
23
24networks:
25 calibre-network:
26 driver: bridge
27EOF
28
29# 2. Create the .env file
30cat > .env << 'EOF'
31# Calibre-Web
32# Change /path/to/books to your Calibre library location
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-library/run | bash

Troubleshooting

  • Database is locked error: Ensure desktop Calibre is closed and no other processes are accessing the library database
  • Books not displaying after setup: Verify the /books volume path contains a valid Calibre library with metadata.db file
  • Send to Kindle not working: Check SMTP settings in admin panel and ensure Gmail app passwords are used if applicable
  • Permission denied accessing library files: Adjust PUID/PGID environment variables to match your host user's ID
  • Conversion features unavailable: Confirm DOCKER_MODS=linuxserver/mods:universal-calibre is properly set in environment
  • Web interface shows 'Admin user not configured': Access admin panel to complete initial setup with database path configuration

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