Calibre-Web is an eBook viewer which uses an existing Calibre database to pull content. We do not run the stand alone version of Calibre, but instead use a build of LazyLibrarian which has Calibre built in.

Some of Calibre-web’s features include:

  • Full HTML5 GUI.
  • User management with per-user permissions
  • Custom shelves
  • Editing eBook metadata
  • Send eBooks to Kindle devices
  • Reading eBooks directly in a browser

Setting up Calibre-web is really simple. We use the Docker version on our Linux server and you can read about how to install that here.

Once Calibre-web is running it will stay open in the background and can be opened using your favorite internet browser and navigating to http://localhost:7878. When prompted to login, use the default values.

Username: admin
Password: admin123

Upon opening Calibre-web you will be directed to input the location of your Calibre database (metadata.db). This should have been setup when mapping directories within the Docker container. Since we are using LazyLibrarian to snatch and process books, our database is located where our library is. /Library/Books

That’s it! Calibre-web will connect to the database and you will be able to edit books, add shelves, manage users, etc.


  1. Hello, H&D!
    Thank you very much for this tutorial, I really appreciate it!
    I already installed it and I was starting the configuration process, when I realized that Calibre-web’s default port is being used by another container, which itself is interacting with a few more containers. So, I’d rather not fiddle with it, since I’m new to containers.
    Now, you explained how to change Lazylibrarian’s default port but, is there a way to change Calibre-Web’s default port, given that it’s built into Lazylibrarian?

    • You do this by changing the Port variable of the Docker. Im using Synology Docker. Go to the Docker Container, select Edit, then to Port Settings.

      The LOCAL port is the port that you will use in the Web Browser to access Calibre-Web.
      So change this value to a port that is not already mapped to another docker. In his example above he is using 7878 (although on the linked page to download the docker it shows configuring it to 8083).

      For anyone else reading this page. is only going to work if you are accessing the docker from inside the machine. If you deployed it on your Synology NAS for example, then you would need to use http://:7878

  2. Hi,

    Thanks for the turorial.
    Everthing works fine.
    Now i would like to share calibre web with other persons.
    I have a domainname and created a hostname for calibre web.
    I made a reverse proxy in synology and linked the hostname to a let’s Encrypt certificate.
    But when i browse to the hostname at work i could not connect to calibre web.
    What am i doiing wrong.
    I did other reverse proxy that work so i think i know how to do it.
    Please help.

    Thanks in advance,



Please enter your comment!
Please enter your name here