E-Books Forever – A Review of Calibre

Our Philosophy is that technology should be durable and that you should own things yourself. That includes electronic text. A Kindle is a nice way to read things, but if you buy books through Amazon and let them host the material for you, it’s not permanent. Someday, there won’t be an Amazon. You don’t really own the book unless you have copies of the files yourself. There are ways to pull books from Kindle, and I may create a tutorial on that someday, but today I want to focus on the other end of things: how you actually read the books you have.

The Kindle app is really convenient. That’s the point. It’s so convenient that you ignore the limitations. Lack of durability and lack of self-ownership are two that we want to resolve today, but before we get to it, there’s another consideration.

One limitation an ebook will always have is that it, well, isn’t physical. That’s the point. It takes up almost no physical space, it weighs nothing, it can be copied to a server across the world in seconds and, if your house burns down, restored on another computer in a few more seconds. But this comes at a price. You have no physical book to write down words. You have nothing to physically hand to someone else. It doesn’t have a physical presence, the kind that compels people (myself included) to read much of the time. It’s easy to forget about the thousands of ebooks I own because I see one of ten books on a small bookshelf. Those books I can’t forget.

Even self-hosting, you won’t have those physical aspects. I prefer physical books, but there are still good reasons to have digital copies – in fact, I’d prefer to have both so I can search through material with a computer instead of by hand.

However, unlike having Amazon or some other organization in control of all of your books, a self-hosted solution does let you own your own books. It is something you can pass along someday (write alongside your digital, plain-text notes!) The best solution out there actually includes two parts, but it’s called Calibre.

The Library

The full installation of Calibre includes both the back-end library software and a user interface to go along with it. Unfortunately, that user interface isn’t exactly modern, and is very hard to access remotely. However, it’s the bare minimum you’ll need to get this service running.

As always, we recommend using Docker and Docker-Compose .

I like the linuxserver implementation of Calibre. It’s very easy to set up. You only really need to tell it where to store it’s configuration data and where your books will live. They have a docker-compose.yml template right on their website:

---
version: "2.1"
services:
  calibre:
    image: lscr.io/linuxserver/calibre:latest
    container_name: calibre
    security_opt:
      - seccomp:unconfined #optional
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - PASSWORD= #optional
      - CLI_ARGS= #optional
    volumes:
      - /path/to/data:/config
    ports:
      - 8080:8080
      - 8081:8081
    restart: unless-stopped

Once it’s running, you can navigate to the IP address you specify and you’ll see something like this:

Like I said, not the greatest interface, though it’s fairly complex for a web browser app. What you’re seeing is essentially a remote desktop. Whether you like the look or not, however, you can do all of your management, including importing books and editing metadata.

The Reader

When actually reading books in your Calibre library, I recommend using Calibre Web, which also runs in your browser but makes it much easier to access your books, especially on smaller screens.

Again, I prefer the linuxserver implementation of this service. Also again, they have a great template docker-compose.yml:

---
version: "2.1"
services:
  calibre-web:
    image: lscr.io/linuxserver/calibre-web:latest
    container_name: calibre-web
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - DOCKER_MODS=linuxserver/mods:universal-calibre #optional
      - OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional
    volumes:
      - /path/to/data:/config
      - /path/to/calibre/library:/books
    ports:
      - 8083:8083
    restart: unless-stopped

Just make sure to set up your volumes (matching what you did up above), and you’re good to go. The web interface looks like this. Much nicer, in my estimation.

The Review

I don’t have too much to say in terms of review, because I simply haven’t found anything else that can do the job Calibre can. I’d prefer something that didn’t require two parts, something that had some better features to automatically grab metadata from online, and something to take plain-text notes while reading books. I suspect we’ll have something like that one day – maybe even Calibre itself will get a refresh – but as a substitute for Kindle and as a convenient home base for digital books, it’s the best thing I’ve found.

Leave a Reply

Your email address will not be published. Required fields are marked *