Skip to content

📚 Web app for browsing, reading and downloading eBooks stored in a Calibre database

License

Notifications You must be signed in to change notification settings

PsychoRS/calibre-web

 
 

Repository files navigation

About

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

GitHub License GitHub commit activity GitHub all releases PyPI PyPI - Downloads Discord

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

Main screen

Features

  • Bootstrap 3 HTML5 interface
  • full graphical setup
  • User management with fine-grained per-user permissions
  • Admin interface
  • User Interface in brazilian, czech, dutch, english, finnish, french, galician, german, greek, hungarian, indonesian, italian, japanese, khmer, korean, norwegian, polish, russian, simplified and traditional chinese, spanish, swedish, turkish, ukrainian, vietnamese
  • OPDS feed for eBook reader apps
  • Filter and search by titles, authors, tags, series, book format and language
  • Create a custom book collection (shelves)
  • Support for editing eBook metadata and deleting eBooks from Calibre library
  • Support for downloading eBook metadata from various sources, sources can be extended via external plugins
  • Support for converting eBooks through Calibre binaries
  • Restrict eBook download to logged-in users
  • Support for public user registration
  • Send eBooks to E-Readers with the click of a button
  • Sync your Kobo devices through Calibre-Web with your Calibre library
  • Support for reading eBooks directly in the browser (.txt, .epub, .pdf, .cbr, .cbt, .cbz, .djvu)
  • Upload new books in many formats, including audio formats (.mp3, .m4a, .m4b)
  • Support for Calibre Custom Columns
  • Ability to hide content based on categories and Custom Column content per user
  • Self-update capability
  • "Magic Link" login to make it easy to log on eReaders
  • Login via LDAP, google/github oauth and via proxy authentication

Installation

Installation via pip (recommended)

  1. To avoid problems with already installed python dependencies, it's recommended to create a virtual environment for Calibre-Web
  2. Install Calibre-Web via pip with the command pip install calibreweb (Depending on your OS and or distro the command could also be pip3).
  3. Optional features can also be installed via pip, please refer to this page for details
  4. Calibre-Web can be started afterwards by typing cps

Issues with Raspberry Pi - Raspberry Pi OS: Depending on your version of pip it's possible that the installation fails with Failed to build cryptography ERROR: Could not build wheels for cryptography, which is required to install pyproject.toml-based projects. In this case please try to update pip with ./venv/bin/python3 -m pip install --upgrade pip first, and then try installing Calibre-Web again. If this isn't working please also install cargo via sudo apt install cargo, and try installing Calibre-Web again.

In the Wiki there are also examples for: a manual installation, installation on Linux Mint, installation on a Cloud Provider.

Quick start

Point your browser to http://localhost:8083 or http://localhost:8083/opds for the OPDS catalog
Login with default admin login
If you don't have a Calibre database already, this database can be used. IMPORTATNT Please move the database out of the calibre-web folder structure, as it will be overwritten during update.
Set Location of Calibre database to the path of the folder where your Calibre library (metadata.db) lives, push "submit" button.
Optionally a Google Drive can be used to host the calibre library -> Using Google Drive integration
Afterwards you can configure your Calibre-Web instance (Basic Configuration and UI Configuration on admin page)

Default admin login:

Username: admin
Password: admin123

Requirements

python 3.5+

Download Imagemagick to extract covers from epubs. On Windows the additional installation of ghostscript might be necessary to extract covers from pdf files. On Linux Imagemagick and Ghostscript can often be installed using the system package manager.

Optionally, to enable on-the-fly conversion from one ebook format to another when using the send-to-ereader feature, or during editing of ebooks metadata:

Download and install the Calibre desktop program for your platform and enter the folder including program name (normally /opt/calibre/ebook-convert, or C:\Program Files\calibre\ebook-convert.exe) in the field "calibre's converter tool" on the setup page.

Download Kepubify tool for your platform and place the binary starting with kepubify in Linux: /opt/kepubify Windows: C:\Program Files\kepubify.

Docker Images

A pre-built Docker image is available in these Docker Hub repository (maintained by the LinuxServer team):

LinuxServer - x64, armhf, aarch64

  • Docker Hub - https://hub.docker.com/r/linuxserver/calibre-web

  • Github - https://github.com/linuxserver/docker-calibre-web

  • Github - (Optional Calibre layer) - https://github.com/linuxserver/docker-calibre-web/tree/calibre

    This image has the option to pull in an extra docker manifest layer to include the Calibre ebook-convert binary. Just include the environmental variable DOCKER_MODS=linuxserver/calibre-web:calibre in your docker run/docker compose file. (x64 only)

    If you do not need this functionality then this can be omitted, keeping the image as lightweight as possible.

    Both the Calibre-Web and Calibre-Mod images are rebuilt automatically on new releases of Calibre-Web and Calibre respectively, and on updates to any included base image packages on a weekly basis if required.

    • The "path to convertertool" should be set to /usr/bin/ebook-convert
    • The "path to unrar" should be set to /usr/bin/unrar

Contact

Just reach us out on Discord

For further information, How To's and FAQ please check the Wiki

Contributing to Calibre-Web

Please have a look at our Contributing Guidelines

About

📚 Web app for browsing, reading and downloading eBooks stored in a Calibre database

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 41.4%
  • JavaScript 40.3%
  • HTML 17.2%
  • CSS 1.1%