Skip to content


What is it?

Calibre is a powerful and easy to use e-book manager. Users say it’s outstanding and a must-have. It’ll allow you to do nearly everything and it takes things a step beyond normal e-book software. It’s also completely free and open source and great for both casual users and computer experts.

Project home Docs Docker

1. Installation

sb install sandbox-calibre

2. URL

  • To access Calibre, visit https://calibre._yourdomain.com_

3. Setup

  • The username and password is taken from your Saltbox accounts.yml file located in /srv/git/saltbox/accounts.yml

  • The second books url serves the Calibre Content server and has a default user of abc and password abc, so make sure to remove/edit that user and enable 'Require username and password to access the Content server' otherwise it will be completely open.

  • Calibre is ready for use. If you added your pre-existing Calibre library to /mnt/local/Media/Books then you should see your library is ready to go. If not, then you have a blank library ready for you to fill.


Running Calibre on a headless server is not very fun. If at all possible, run Calibre on your local, home computer. Use rclone to sync the files from home to google drive, and then another sync from google drive to your server so that Calibre-Web can use it.

A local database file is required. This means you cannot run either Calibre or Calibre-Web from a mounted teamdrive, and this is the biggest pain for many of us. The easiest solution is to simply have your database and book files all located in /mnt/local/Media/Books.

Both Calibre and Calibre-Web expect to find your library in /mnt/unionfs/Media/Books. Note that per standard Saltbox setup, /mnt/local is included inside /mnt/unionfs. However, both dockers also include access to anything in your /mnt directory.

4. Handy commands for managing your calibre docker

You can access advanced features of the Guacamole remote desktop using ctrl+alt+shift enabling you to use remote copy/paste and different languages.

  • Shell access whilst the container is running:
    docker exec -it calibre /bin/bash

  • To monitor the logs of the container in realtime:
    docker logs -f calibre

  • Container version number:
    docker inspect -f '{{ index .Config.Labels "build_version" }}' calibre

  • Image version number:
    docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/calibre

  • Documentation