Web app for browsing, reading and downloading eBooks stored in a Calibre database.
Go to file
Ozzie Isaacs 0925f34557 Merge remote-tracking branch 'caliblur/issue/caliBlur-3002' 2024-04-07 18:51:00 +02:00
.github Fix typo 2024-01-21 14:42:39 +01:00
cps Merge remote-tracking branch 'caliblur/issue/caliBlur-3002' 2024-04-07 18:51:00 +02:00
library Added empty database 2023-01-29 14:14:18 +01:00
test Updated teststatus 2024-02-27 06:01:11 +01:00
.editorconfig Add eslint file 2017-08-12 22:44:39 -07:00
.eslintrc Update to ES5 standards 2017-08-12 22:46:27 -07:00
.gitattributes Updated readme to make 2023-01-29 14:28:49 +01:00
.gitignore Merge branch 'master' into Develop 2023-02-05 12:10:01 +01:00
CONTRIBUTING.md Change landing page for issues, to reduce number of empty issues 2022-08-27 10:20:53 +02:00
LICENSE Add GPL v3 License 2016-04-27 17:29:57 +02:00
MANIFEST.in Merge branch 'Develop' 2019-07-13 20:54:21 +02:00
README.md Fix typo 2024-01-21 14:42:39 +01:00
SECURITY.md Version update 2023-10-21 14:37:21 +02:00
babel.cfg Update path to kobo config file 2022-12-25 10:22:58 +01:00
cps.py Improved limiter 2023-02-12 13:10:00 +01:00
exclude.txt Added option to enable reconnect 2022-01-29 14:47:45 +01:00
messages.pot Fix typo in send password message 2024-02-10 10:07:10 +01:00
optional-requirements.txt Update Requirements 2024-02-25 16:11:57 +01:00
requirements.txt Improved js password strength check 2024-02-29 11:48:07 +01:00
setup.cfg Revert logging line termination feature 2024-02-26 18:07:24 +01:00
setup.py Update teststatus 2023-10-18 18:14:00 +02:00


Short Notice from the maintainer

After 6 years of more or less intensive programming on Calibre-Web, I need a break. The last few months, maintaining Calibre-Web has felt more like work than a hobby. I felt pressured and teased by people to solve "their" problems and merge PRs for "their" Calibre-Web. I have turned off all notifications from Github/Discord and will now concentrate undisturbed on the development of “my” Calibre-Web over the next few weeks/months.
I will look into the issues and maybe also the PRs from time to time, but don't expect a quick response from me.


Calibre-Web is a web app that offers a clean and intuitive interface for browsing, reading, and downloading eBooks using a valid Calibre database.

License Commit Activity All Releases PyPI PyPI - Downloads Discord

Table of Contents (click to expand)
  1. About
  2. Features
  3. Installation
  4. Docker Images
  5. Contributor Recognition
  6. Contact
  7. Contributing to Calibre-Web

This software is a fork of library and licensed under the GPL v3 License.

Main screen


  • Modern and responsive Bootstrap 3 HTML5 interface
  • Full graphical setup
  • Comprehensive user management with fine-grained per-user permissions
  • Admin interface
  • Multilingual user interface supporting 20+ languages (supported languages)
  • OPDS feed for eBook reader apps
  • Advanced search and filtering options
  • Custom book collection (shelves) creation
  • eBook metadata editing and deletion support
  • Metadata download from various sources (extensible via plugins)
  • eBook conversion through Calibre binaries
  • eBook download restriction to logged-in users
  • Public user registration support
  • Send eBooks to E-Readers with a single click
  • Sync Kobo devices with your Calibre library
  • In-browser eBook reading support for multiple formats
  • Upload new books in various formats, including audio formats
  • Calibre Custom Columns support
  • Content hiding based on categories and Custom Column content per user
  • Self-update capability
  • "Magic Link" login for easy access on eReaders
  • LDAP, Google/GitHub OAuth, and proxy authentication support


  1. Create a virtual environment for Calibre-Web to avoid conflicts with existing Python dependencies
  2. Install Calibre-Web via pip: pip install calibreweb (or pip3 depending on your OS/distro)
  3. Install optional features via pip as needed, see this page for details
  4. Start Calibre-Web by typing cps

Note: Raspberry Pi OS users may encounter issues during installation. If so, please update pip (./venv/bin/python3 -m pip install --upgrade pip) and/or install cargo (sudo apt install cargo) before retrying the installation.

Refer to the Wiki for additional installation examples: manual installation, Linux Mint, Cloud Provider.

Quick Start

  1. Open your browser and navigate to http://localhost:8083 or http://localhost:8083/opds for the OPDS catalog
  2. Log in with the default admin credentials
  3. If you don't have a Calibre database, you can use this database (move it out of the Calibre-Web folder to prevent overwriting during updates)
  4. Set Location of Calibre database to the path of the folder containing your Calibre library (metadata.db) and click "Save"
  5. Optionally, use Google Drive to host your Calibre library by following the Google Drive integration guide
  6. Configure your Calibre-Web instance via the admin page, referring to the Basic Configuration and UI Configuration guides

Default Admin Login:

  • Username: admin
  • Password: admin123


  • Python 3.5+
  • Imagemagick for cover extraction from EPUBs (Windows users may need to install Ghostscript for PDF cover extraction)
  • Optional: Calibre desktop program for on-the-fly conversion and metadata editing (set "calibre's converter tool" path on the setup page)
  • Optional: Kepubify tool for Kobo device support (place the binary in /opt/kepubify on Linux or C:\Program Files\kepubify on Windows)

Docker Images

Pre-built Docker images are available in the following Docker Hub repositories (maintained by the LinuxServer team):

LinuxServer - x64, aarch64

  • Docker Hub

  • GitHub

  • GitHub - Optional Calibre layer

    Include the environment variable DOCKER_MODS=linuxserver/mods:universal-calibre in your Docker run/compose file to add the Calibre ebook-convert binary (x64 only). Omit this variable for a lightweight image.

    Both the Calibre-Web and Calibre-Mod images are automatically rebuilt on new releases and updates.

    • Set "path to convertertool" to /usr/bin/ebook-convert
    • Set "path to unrar" to /usr/bin/unrar

Contributor Recognition

We would like to thank all the contributors and maintainers of Calibre-Web for their valuable input and dedication to the project. Your contributions are greatly appreciated.


Join us on Discord

For more information, How To's, and FAQs, please visit the Wiki

Contributing to Calibre-Web

Check out our Contributing Guidelines