Self hosted digital library using Raspberry Pi

Anyone with a sprawling collection of e-books know that managing them manually can be a real pain. It’s even more so of a pain when you want to share the books with others or load them up to your devices. Sure you can load them up on iTunes and transfer it to your iPad but that won’t work with an Android device. I have a spare Raspberry Pi with an old HDD so I figured why not just set up a digital library so I can load up my novels, magazines, RPG manuals, game rulebooks to my devices over the WiFi.

Enter Calibre

Calibre, a cross platform ebook manager, has been my go-to software for managing my books for years now. It lets you manage your entire collection from a nice clean interface in various formats (ePub, PDF, mobi) AND it provides you with a content server that allows your collection to be downloaded to your devices over wireless. Additionally, it lets you edit ePubs to fix any errors or typos, edit covers, sort your books by their series and numbers, edit tags to find them easily among many other helpful features. From the Calibre website

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.

  • Save time on managing your e-book collection
  • Use it everywhere and with anything
  • Comprehensive e-book viewer
  • Download news/magazines from the web
  • Share and backup your library easily
  • Edit the books in your collection
  • Satisfy every e-book need and get support

The default software is used to manage the entire ebook collection however for the Raspberry Pi, I am only interested in the Content Server. As of this writing, the latest version of Calibre is 3.2.1 however I am running an older 2.5 version on my Raspberry Pi. Aside the user management, the other functionalities are the same as far as I can tell.

Calibre Content Server For this example I’m using Raspbian Jessie but it works on on Raspbian Wheezy or ArchLinux as well

  • Install Calibre on Raspbian Jessie
    • apt update && apt install calibre -y
  • To start the service in the foreground (by default starts on port 8080), we need to provide the path where your books will be stored.
    • calibre-server /path/to/calibre/library
  • To start the service in the background
    • calibre-server /path/to/calibre/library --daemonize
  • To start the service in another port
    • calibre-server /path/to/calibre/library --port=8111

There are many other options such as limiting users who have access to this library, number of worker threads to start, etc. To see the list of options just type calibre-server --help.

Here’s to hoping you can run your own digital library from the comfort of your couch. Cheers!

Calibre with my digital books