Skip to content


Ozzieisaacs edited this page Nov 26, 2019 · 11 revisions

Runtime Configuration Options

The configuration can be changed as admin in the admin panel under "Basic Configuration" and "UI Configuration"

Basic Configuration:

Location of Calibre database:
The location of a valid metadata.db file as created by the Calibre program. The File has to be on a mounted drive of the server running calibre-Web (for setup with Google Drive please take a look in the corresponding chapter). You only enter the path, no special care has to be taken about spaces or Non-ASCII characters. The must not be included in apostrophes. "/" or "" work as seperators. The name metadata.db is not allowed as part of the path. Example: /folder with space

Server Port:
Changes the port Calibre-Web is listening, changes take effect after pressing submit button. To reach the Calibre-Web instance afterwards you have to change the port manually in your browser

(Optional) SSL Configuration

For configuration of calibre-web as SSL Server go to the Config page in the Admin section. Enter the certfile- and keyfile-location, optionally change port to 443 and press submit. Afterwards the server can only be accessed via SSL. In case of a misconfiguration (wrong/invalid files) both files can be overridden via command line options -c [certfile location] -k [keyfile location] By using "" as certfile/keyfile locations the server runs as non SSL server again. The correct file path can be entered on the Config page afterwards. After the next restart without command line options the changed file paths are applied.

Update Channel

Calibre-Web provides 2 types of update. The Stable channel updates you less frequent from stable release to stable release. All releases are tested on a good base and are made for normal day use. The stable channel is the default setting *)
The nightly mode includes new features latest bugfixes, and of course newset bugs. It's only recommended to use the nightly channel if you suffer from a certain bug fixed or if you want to be on the leading edge of technology.

*) Due to a unexpected renaming of downloaded Zip-Files the release tag will be published later, to give everybody time to update to an updater which can handle with the naming convention of Github.

Logfile Configuration

You can set the loglevel of the integrated logfiles. Default is INFO, which is recommended for normal day use. DEBUG gives you more information, especially during converting books and sending e-mails. WARNING and ERROR are less noisy as all other settings and create almost no entries. The logfiles are rotating automatically after 10kbytes of logged information are reached. The 2 old versions are backuped.
You can specifiy a different name and different location for the logfile. logfile.log creates a logfile with this name in the Calibre-Web folder, where c:\bücher\log.log creates a logfile with the name log.log in the "bücher" folder on drive "c:". Please make sure Calibre-Web has write access to the folder you specify. On linux you can use "/dev/stderr" to log to standard-error or "/dev/stdout" to log to the standard output.

Feature Configuration

Enable public registration:
Tick to enable public user registration. Users can then register with the Calibre-Web instance on their on with a valid email adress. In the SMTP Server section valid domains for registrations can be limited. Prerequisites: The SMTP Server setup has to be completed.

Enable anonymous browsing:
Tick to allow not logged in users to browse the catalog, anonymous user permissions can be set as admin ("Guest" user)

Enable uploading:
Tick to enable uploading of PDF, epub, FB2, TXT, Mobi, AZW, AZW3, HTML, RTF, ODT, DJVU, PRC, DOC, DOCX, CBR, CBZ, and CBT files. If imagemagick library is be installed covers can be extracted from some of the uploaded file formats.

Enable remote login ("magic link"):
Tick to enable remote login, i.e. a link that allows user to log in via a different device.

External binaries

You can choose to use calibre's ebook converter to convert ebooks from one format to another. Please choose the corresponding option. In path to convertertool the path and name of the file ebook-converter (part of calibre) has to be entered. (On Linux usualy /opt/calibre/ebook-convert, for windows it's usually c:\program files\calibre\ebook-convert.exe). Calibre offers a lot of options to modify the behavior of the ebook-converter, the options can be entered in the E-Book converter settings.
The Kindlegen converter is *DEPRECATED* for use with Calibre-Web, will be removed in a later version and is no longer recommended for usage with Calibre-Web. Please enter the path and filename in the field "Path to convertertool", if you wan to use it anyway (e.g. /opt/kindlegen). Please make sure that kindlegen has the excecution flag set.

Using Google Drive integration

Calibre Calibre library (metadata.db) can be located on a Google Drive. Additional optional dependencys are necessary to get this work. Please install all optional requirements by executing pip install --target vendor -r optional-requirements.txt

To use google drive integration, you have to use the google developer console to create a new app.

  1. After login create a project:


  1. Choose a name and save the project:

Create project

  1. Activate the API for the created project by clicking on enable APIs and services or API library

Activate API

  1. Choose Google Drive API from the listed Apps

API Library

  1. Enable the Google Drive API by clicking on enable

Enable Gdrive

  1. Click on Configure consent screen:

Configure Consent screen

  1. Enter
    your e-mail adress,
    the applications name,
    the domain name of your application
    and add scope for '../auth/drive':

Setup Credentials

Save your changes.

  1. Click on create credentials in the following screen:

Choose OAuth Client ID from the selection.

API enabled Dashboard

  1. Choose the app type: Web-application, enter in the field 'Authorized redirect URIs' the complete domain adress with the callback path: CALIBRE_WEB_URL/gdrive/callback
    E.g.: For a https connection to where Calibre-Web is located in the folder 'test' you have to enter: The address has to be public, localhost, http://internalServername or similar wont work. The field can't be empty.

Web application

  1. Google is now presenting your client ID and your client secret. We just close the popup, we download the informations.

Setup Finished

  1. Now we download the informations in json format by clicking on the download button on the overview page

Download credentials

  1. Download json file and place it in calibre-web directory, with the name client_secrets.json

  2. Final step is the verification of your domain.

Download credentials

  1. First you need to add your domain (this is the adress, if you want to access your server from the internet) to the google search console:

Domain verification

  1. Please follow the steps there for verifiying the domain address

The one one the right is the easiest for self hosted domains. After entering your domain name, download the html file and make it accessible under the address http[s]://[your-domain-name]/[filename]

  1. Afterwards you can enter your domain to the screen from step 14 and activate your domain

Domain verification

The Drive API should now be setup and ready to use, so we need to integrate it into Calibre-Web. This is done as described below:\

  1. Open config page (here shown during initial setup, can also be done later)

  2. Enter the location that will be used to store the metadata.db file locally, and to temporary store uploaded books and other temporary files for upload ("Location of Calibre database"). The metadata.db file has to exist and should be consitent with the books stored on Google Drive.

  3. Tick Use Google Drive
    Inital config

  4. Click the "Submit" button. If done during inital config, please login to Calibre-Web and go to admin section, Basic config. Login should be done to the outside adress of your instance, because you are redirected from Google to this address during authentication process.

  5. Now select Authenticate Google Drive Authenticate Google

  6. This should redirect you to Google. You are warned the app isn't verified and you have to show advanced options and click on the "Go to ... unsafe" button. After allowing it to use your Drive, it redirects you back to the previous config page of your Calibre-Web instance. Google login

Allow authenticate

  1. Select the folder that is the root of your calibre library on Gdrive ("Google drive Calibre folder") Select Google Drive folder

  2. Click the "Submit" button

  3. Google Drive should now be connected and be used to get images and download Epubs. The metadata.db is stored in the calibre library location. Upon Upload of new books the calibre library folder acts as temporary folder before the final upload to Google Drive.

Google Drive Optional configuration

If your Calibre-Web is using https, it is possible to add a "watch" to the drive. This will inform us if the metadata.db file is updated from outside and allows us to update our calibre library accordingly. Additionally the public adress your server uses (e.g. has to be verified in the Google developer console. After this is done, please wait a few minutes, then

  1. Open config page
  2. Click enable watch of metadata.db
  3. Note that this expires after a week, so you need manually refresh it

UI Configuration:

The title of the instance of Calibre-Web can be changed (usefull if you are having more than on instance running). The name is shown in the upper left corner of the webpage.

Books per page:
Limits the number of book covers shown on one page (and the number of books loading during the infinite scrolling mode). To prevent the infinite scrolling mode set the "Books per page" to a number displayed on one page in your browser. In this case you will see pagination informations on the bootom of the page (only valid for the Standard Theme)

No. of random books:
Limits the number of books showning up in the random books section. To deactivate the feature untick the "Show random books in detail view" on the user's settings page.

Currently Calibre-Web supports two theme, the Standard ligh one, and the dark Caliblur! plex like theme.

Regular expression for ignoring columns and Link read/unread status to Calibre column:
If you having a bool custom column in Calibre you can use it as a "global" read/unread status (only usefull in single user environments) In this case you can select this column in the Link read status. After saving the Read/Unread selection on each book is read from this column and also saved to thi field in the calibre-database. Furthermore you should Enter this column name to the "Regular expression for ignoring columns", so the column isn't showing up twice in Calibre-Web.
Example: ".*" would exclude all custom columns, "Read" only the column with the name column, "^My\scol.*" all Columns starting with "My col"

Regular expression for title sorting:
Calibre stores internally the title and a "sorted title". Title often starting with articles like "A" in english, or "Die/Der/Das" in german, which make no sense to sort after, therfore all of the listed words in these field are ignored for sorting the title. The default is taken from a german Calibre program. For french it should be something like "^(Le|La)\s"

Tags for Mature Content:
Sometimes you want to hide certain books from some users (like your kids). In this case you have to add certain categories to this books, afterwards you can add this categories in the field here (comma seperated if more than one). Calibre-Web then prevents access to books having these categories for useres not having the "show mature content" option ticked (Users role settings).

Default settings and visibilitys for new users

The options selected in this section define the access rights and visibilitys new users having upon registering, and the default settings for newly created users by the admin (can be changed during initial creation, or later by admins). The visibilitys (except mature content settings) can be changed by the users themselves later on. The Guest user (User for anonymous access) is an except from this, only admins can change the visibilities for the Guest user.

Using Goodreads integration

This menu is only chowing up if the optional dependencies "goodreads" and "python-Levenshtein" are installed. You need to create an API key with goodreads to use the feature. Currently showing authors informations are supported (view books by author) Goodreads

You can’t perform that action at this time.