Go to file
Ozzie Isaacs 91b9370a21 Merge branch 'master' into development
# Conflicts:
#	cps/static/css/libs/bootstrap-table.min.css
#	cps/static/js/libs/bootstrap-table/bootstrap-table-editable.min.js
#	cps/static/js/libs/bootstrap-table/bootstrap-table.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-af-ZA.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-ar-SA.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-bg-BG.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-ca-ES.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-cs-CZ.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-da-DK.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-de-DE.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-el-GR.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-en-US.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-es-AR.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-es-CL.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-es-CR.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-es-ES.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-es-MX.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-es-NI.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-es-SP.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-et-EE.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-eu-EU.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-fa-IR.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-fi-FI.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-fr-BE.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-fr-CH.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-fr-FR.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-fr-LU.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-he-IL.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-hr-HR.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-hu-HU.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-id-ID.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-it-IT.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-ja-JP.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-ka-GE.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-ko-KR.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-ms-MY.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-nb-NO.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-nl-BE.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-nl-NL.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-pl-PL.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-pt-BR.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-pt-PT.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-ro-RO.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-ru-RU.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-sk-SK.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-sr-Cyrl-RS.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-sr-Latn-RS.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-sv-SE.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-th-TH.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-tr-TR.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-uk-UA.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-ur-PK.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-vi-VN.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-zh-CN.min.js
#	cps/static/js/libs/bootstrap-table/locale/bootstrap-table-zh-TW.min.js
2021-04-02 17:13:22 +02:00
.github/ISSUE_TEMPLATE Disable blank issue templates 2021-03-20 16:27:47 +01:00
cps Merge branch 'master' into development 2021-04-02 17:13:22 +02:00
test Update testresults 2021-03-29 18:03:09 +02: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 Merge branch 'Develop' 2019-07-13 20:54:21 +02:00
.gitignore Fix #1928 (ldap_import_user_filter missing in to_save) 2021-04-02 08:40:29 +02:00
babel.cfg Made kindlegen working on windows (including paths containing umlauts) 2016-11-12 10:52:59 +01:00
CONTRIBUTING.md Spelling/grammar in CONTRIBUTING.md 2020-08-08 01:06:19 +00:00
cps.py Remove some unused imports 2021-01-07 17:59:08 +01: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
messages.pot Added Brazilian translation 2021-03-27 12:20:07 +01:00
optional-requirements.txt Update optional-requirements.txt 2021-03-28 20:36:08 +02:00
README.md Added Brazilian translation 2021-03-27 12:20:07 +01:00
requirements.txt Downgrade sqlachemy, as it breaks oauth 2021-03-24 18:47:59 +01:00
setup.cfg Upload pdf fixes: 2021-03-17 19:06:51 +01:00
setup.py Deactivate ldap 2019-07-14 18:37:44 +02:00

About

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

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, german, greek, hungarian, italian, japanese, khmer, polish, russian, simplified chinese, spanish, swedish, turkish, ukrainian
  • OPDS feed for eBook reader apps
  • Filter and search by titles, authors, tags, series and language
  • Create a custom book collection (shelves)
  • Support for editing eBook metadata and deleting eBooks from Calibre library
  • Support for converting eBooks through Calibre binaries
  • Restrict eBook download to logged-in users
  • Support for public user registration
  • Send eBooks to Kindle devices 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

Quick start

  1. Install dependencies by running pip3 install --target vendor -r requirements.txt (python3.x). Alternativly set up a python virtual environment.
  2. Execute the command: python3 cps.py (or nohup python3 cps.py - recommended if you want to exit the terminal window)
  3. Point your browser to http://localhost:8083 or http://localhost:8083/opds for the OPDS catalog
  4. 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
  5. Go to Login page

Default admin login:
Username: admin
Password: admin123

Issues with Ubuntu: Please note that running the above install command can fail on some versions of Ubuntu, saying "can't combine user with prefix". This is a known bug and can be remedied by using the command pip install --system --target vendor -r requirements.txt instead.

Requirements

python 3.x+

Optionally, to enable on-the-fly conversion from one ebook format to another when using the send-to-kindle 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

Pre-built Docker images are available in these Docker Hub repositories:

Technosoft2000 - x64

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

Wiki

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

Contributing to Calibre-Web

Please have a look at our Contributing Guidelines