Readarr and Calibre

Warning: This post is a WIP and half written from memory.

If you like ebooks and want a solution similar to Sonnar/Radarr and Plex this is one way to do that. I setup this with both running in Docker with Portainer for management.
Note: Readarr is very raw and requires rebuilding your DB with every update right now.

Before Getting Started
If you setup new bridge network and make the dockers part of that network, you can use the docker name for a hostname instead of using IPs. I don’t understand why this doesn’t work in the default bridge network, but if you want to learn more: https://docs.docker.com/config/containers/container-networking/

Setup Calibre in Docker
Linuxserver.io is reliable source: https://github.com/linuxserver/docker-calibre
Mostly follow their setup instructions. Make sure you don’t skip of the password setup instructions. Other than that you need to add this ENV value:

CLI_ARGS="–auth-mode=basic"
Explanation: https://github.com/Readarr/Readarr/wiki/Media-Management

If you forget the TZ values like me: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

Setup Readarr in Docker
The most trafficked image appears to be: https://hub.docker.com/r/hotio/readarr
Normally I just use “:latest” tag, but the best you can get is “:unstable” with this one.

Volumes you will need to setup:
downloads - read/write
library - read
config - read/write

For the ENV I just followed the instructions from the link above. Once deployed get your container IP address. You’ll need it for Calibre.

Setup Calibre in App
I forgot what I put for the initial wizard, but your smart I’m sure you’ll figure something out. Once you can login you need to make sure Calibre will allow Readarr to add books to it.

  1. In the top row of icon open Preferences.
  2. In the new window under Sharing, open Sharing over the net.
  3. In the Main tab, enable Run server automatically when calibre starts.
  4. Take note of the port number on this tab.
  5. In the Advanced tab, add the Reader Docker IP to Allow un-authenticated connections from specific IP addressed to make changes.
  6. Apply settings, close the window.
  7. Restart the docker to finalize all the settings.

Setup Readarr in App
Settings -> Media Management is where you connect Reader to Calibre.

  1. Click the big plus sign to add a new entry.
  2. Setup the settings. These are the things I set, everything else was left default:
    2.1 Name: calibre
    2.2 Calibre Library: checked
    2.3 Calibre Host: Calibre Docker IP
    2.4 Calibre Port: Calibre Web port

You will also need to configure Indexers and Download Clients, but any guides for Sonarr & Radarr should be applicable to this area.

Manually Adding a Book
So you just downloaded a book from https://www.gutenberg.org/ into your download area. How to Readarr add it to Calibre:

  1. On the left open Library -> Add New
    Note: I found you need to add the author/book metadata first.
  2. Find the author & book and add it to the DB by clicking on the picture.
    Note: Green checkmark indicates you already have it in the DB
  3. On the left open Wanted, then on the top click Manual Import
  4. In the new window, navigate to the directory where the book is.
  5. Click Interactive Import at the bottom.
  6. Make sure the columns for Author and Book are correct.
    Note: Hover over Red Exclamation marks for details on problems.
  7. Make sure the blue checkbox on the left is ticket for every book you want to import.
  8. Click Import.
  9. If you are paranoid like me, go back to Calibre web interface and it usually shows up as the first row in the list of books.

Import A Friends calibre_library
So your super chill friend already has a large and well organized library that they shared with out. You want to add it to your library without wrecking all your hard work. Calibre can import that into your library, but it doesn’t make that very clear on how to do that.
WARNING: Backup your stuff first or scream something like “JESUS TAKE THE WHEEL” then do it. Whichever matches your risk tolerance.

  1. Get the copy of your friends library somewhere that calibre can get access to it.
    Note: For this guide I am assuming you put it next to your “calibre-library” and named it “friend-library”
  2. In Calibre, click the menu triangle next to the “calibre-library” button.
  3. In the drop down menu, click Switch/crete library.
  4. Find/enter the path to your “friend-library”
  5. Use the radio option Use the previously existing library at the new location.
  6. Once Calibre is done you should have 2 libraries you can switch between: “calibre-library” and “friend-library”
  7. In “friend-library” select all the books and right click.
    Note: If you have a lot of books this might take a minute.
  8. Select Copy to library then “calibre-library”
  9. Go get something to drink while you watch the progress bar.

Some handy links for those getting into Calibre:

  1. https://plugins.calibre-ebook.com/stats.html combined with https://plugins.calibre-ebook.com/ will show you all of the top plugins
  2. https://www.makeuseof.com/tag/hidden-calibre-features-manage-ebooks/ of note, #6 is worth looking at.
  3. Setup your Adding Books preferences with things like auto convert and auto merge rules:
    image

Also, the Calibre-Web is a pretty nice add-on, gives you a better UI to Calibre and supports in-browser ePUB and PDF viewing. GitHub: https://github.com/janeczku/calibre-web and a tutorial on setting it up: https://sasquatters.com/calibre-web-docker/ and configuring it: http://sasquatters.com/calibre-web-configuration/

If you bought your Kindle content and want to remove content to store for yourself: https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md