Home assistant add-on: Calibre-web
I maintain this and other Home Assistant add-ons in my free time: keeping up with upstream changes, HA changes, and testing on real hardware takes a lot of time (and some money). I use around 5-10 of my >110 addons so regularly I install test machines (and purchase some test services such as vpn) that I don't use myself to troubleshoot and improve the addons
If this add-on saves you time or makes your setup easier, I would be very grateful for your support!
Addon informations
Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!
About
Calibre-web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. It is also possible to integrate google drive and edit metadata and your calibre library through the app itself.
This addon is based on the docker image https://github.com/linuxserver/docker-calibre-web
Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other add-on.
- Add my add-ons repository to your home assistant instance (in supervisor addons store at top right, or click button below if you have configured my HA)
- Install this add-on.
- Click the
Savebutton to store your configuration. - Set the add-on options to your preferences
- Start the add-on.
- Check the logs of the add-on to see if everything went well.
- Open the webUI and adapt the software options
Configuration
Webui can be found at http://homeassistant:PORT or through the sidebar using Ingress. The default username/password is described in the startup log. Configurations can be done through the app webUI, except for the following options.
Default name: admin Default password: admin123
Options
| Option | Type | Default | Description |
|---|---|---|---|
PGID |
int | 0 |
Group ID for file permissions |
PUID |
int | 0 |
User ID for file permissions |
TZ |
str | Timezone (e.g., Europe/London) |
|
DOCKER_MODS |
str | Docker modifications to apply | |
OAUTHLIB_RELAX_TOKEN_SCOPE |
str | OAuth token scope relaxation | |
ingress_user |
str | Username for ingress authentication | |
localdisks |
str | Local drives to mount (e.g., sda1,sdb1,MYNAS) |
|
networkdisks |
str | SMB shares to mount (e.g., //SERVER/SHARE) |
|
cifsusername |
str | SMB username for network shares | |
cifspassword |
str | SMB password for network shares | |
cifsdomain |
str | SMB domain for network shares |
Example Configuration
PGID: 0
PUID: 0
TZ: "Europe/London"
DOCKER_MODS: "linuxserver/mods:universal-calibre"
ingress_user: "admin"
localdisks: "sda1,sdb1"
networkdisks: "//192.168.1.100/books"
cifsusername: "bookuser"
cifspassword: "password123"
cifsdomain: "workgroup"
Mounting Drives
This addon supports mounting both local drives and remote SMB shares:
- Local drives: See Mounting Local Drives in Addons
- Remote shares: See Mounting Remote Shares in Addons
Optional Calibre-Web features
Calibre-Web documents optional extras that a manual installation adds with pip install calibreweb[metadata] and similar. You do not need to install anything here: the LinuxServer base image this add-on builds on installs Calibre-Web's requirements.txt and its full optional-requirements.txt into the application's virtualenv, so the gdrive, gmail, goodreads, ldap, oauth, metadata, comics and kobo dependencies are all present already. Running pip install calibreweb[...] inside the container is not a supported way to enable them: it installs the PyPI distribution of Calibre-Web over an installation that already has those dependencies, and it can disturb the versions the base image pinned. It is also thrown away, because the Supervisor recreates the add-on container on restart.
Optional features are switched on in the Calibre-Web web interface, not in the add-on options, under Admin -> Basic Configuration -> Feature Configuration (for example Enable Uploads, Enable Kobo sync, Use Goodreads).
Book covers. The Fetch Cover from URL and Upload Cover from Local Disk fields only appear on a book's Edit Metadata page when Enable Uploads is ticked in Feature Configuration and the logged-in user has the Upload permission (Admin -> the user -> Upload). A missing Python package is not what hides them.
Conversion, metadata embedding and the other Calibre integrations use command-line binaries such as ebook-convert, ebook-meta and calibredb. Those are installed at start by the linuxserver/mods:universal-calibre docker mod, which is the shipped default of the DOCKER_MODS option. If you set DOCKER_MODS yourself, keep linuxserver/mods:universal-calibre in the list (mods are separated by |) or those binaries disappear.
Other compatible Python packages can be installed from the add-on's custom script (see the section below); pip there points at Calibre-Web's own virtualenv. Such a script runs on every start, and it has to, since the container's writable layer does not persist.
Custom Scripts and Environment Variables
This addon supports custom scripts and environment variables:
- Custom scripts: See Running Custom Scripts in Addons
- env_vars option: Use the add-on
env_varsoption to pass extra environment variables (uppercase or lowercase names). See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.
Support
Create an issue on github

