I gave up on Kindle and built my own eBook server with Calibre


Summary

  • Calibre allows self-hosting of eBooks easily, categorizing, and serving with no subscription fees.
  • Setting up Calibre takes a few steps, and it’s best to remember to keep the database local to avoid issues.
  • Calibre Web provides a user-friendly interface to browse, read, upload, and even integrate with Kindle for your eBooks.

Have you been searching for a way to ditch Kindle and build your own eBook library? I have, and Calibre makes it easy to self-host your eBooks, read them anywhere, and even still send them to your Kindle—no subscription required.

Why I ditched Kindle

Amazon recently decided that they would remove a feature from Kindle that many people loved—the ability to download eBooks to read on your own devices. This anti-consumer practice is among the latest in moves that show us digital content we buy isn’t actually ours, we’re just simply gaining access that can be revoked at any time.

2015 Amazon Kindle Paperwhite eReader sitting on a couch showing the home screen.


Kindle Is Making It Harder to Switch to Rival eReader Brands

Need to download and transfer those old Kindle purchases? Tough luck.

While Kindle doesn’t allow you to download eBook files anymore, there are still many legal sources for free eBooks. The only issue is reading them easily. Of course, Amazon integrates its own services with its own hardware well, but it’s not always the simplest solution if you want to supply the eBooks on your own.

A person taking a Kindle from a bookshelf full of books. Credit: Lucas Gouveia/How-To Geek | fast-stock/Shutterstock

That’s what I wanted to do: read eBooks without the overreaching hand of Amazon. That’s where Calibre comes in.

Discovering Calibre

Instead of using the Kindle service to read eBooks, I decided to give Calibre a shot. I’ve heard a lot about it, and know several people who self-host it, but now it’s my turn.

A stack of books with a Kindle eReader on top of them. Credit: Dan Helyer / How-To Geek

Calibre is a self-hosted tool that handles your eBooks. While Calibre itself only handles the database side of things, you can connect to it through quite a few apps. BookFusion is available on both iPhone and Android, and works natively with Calibre.

Calibre app icon over on a blurred image of an Amazon Kindle screen.


Ebook Manager Calibre Just Got a Big Update

Searches and default news sources are also improved.

Once you get your books into Calibre, it handles everything else for you. It’ll categorize stuff, serve out the books, and more. The best part is Calibre is 100% free and open source, so there are no fees to use the service.

If you can source the books you want to read in EPUB, PDF, or any number of other formats, then Calibre can make them available for you to enjoy.

Setting up Calibre wasn’t easy

Calibre is self-hosted, which means that you’re on your own to install and configure it. I used Portainer to install it on my Docker host, and the primary installation was pretty straightforward.

There are three ports that need to be forwarded to the container, two volumes to mount, and just a few environmental variables to set. Overall, as far as Docker containers go, it was a pretty simple deployment.

The Portainer admin interface with the settings needed to launch the Calibre Docker container. Credit: Patrick Campanale / How-To Geek

Once it was up and going, that’s where things got a bit more tricky. Launching the 8080 port (whatever you have that on your server, mine is 8082 on the host that points to 8080 on the container) brings you to the setup interface for Calibre. This is honestly pretty simple, except for one thing: Calibre refuses to function well if you store the database on a network share.

My Docker server is a separate computer from my storage server. I do this to keep services separate, but also to avoid downtime if I have to service one server and not the other.

 Docker logo placed over a laptop computer keyboard.


Docker for Beginners: Everything You Need to Know

Learn to use this incredibly popular development tool.

Because of this, I typically store persistent data (that will continue to grow over time) on the storage server, not the Docker server. I mount the storage server over both NFS and CIFS, depending on which is more reliable at the time.

When I first set up Calibre, I configured it to store the database on my NAS over the network share so that way, as my eBook collection grew, it wouldn’t take up space on the apps server. I couldn’t get Calibre to work at all, and it took me a while to troubleshoot. However, once I moved the database to local storage to the Docker server and not the network share, Calibre set up just fine.

The Calibre backend interface showing several books imported into the library. Credit: Patrick Campanale / How-To Geek

Moral of the story: keep your Calibre database local to avoid headaches.

Why Calibre Web changed everything

I already mentioned BookFusion as a way to read Calibre. That’s because Calibre doesn’t have any user-friendly ways to read your eBooks natively. The Docker container does technically allow you to use the VNC viewer to read eBooks, but the experience is anything but pleasant.

The Calibre Web interface on a desktop showing several books available to be read. Credit: Patrick Campanale / How-To Geek

That’s where Calibre Web comes in. This is a separate Docker container that connects to your Calibre server, allowing you to interface with your library in a much more user-friendly way. With Calibre Web, you’re able to use things like a reverse proxy to access the library outside of your network in any browser. It also allows you to easily upload eBooks with just a few clicks of a button.

The Calibre Web UI is clean and makes browsing your eBook library a simple task. Because it’s a self-hosted website, and not a VNC viewer into a container, it works natively how you’d expect on any device. Whether I was using my phone, laptop, iPad, or desktop, the Calibre Web interface scaled well and was easy to use overall.

Reading a book in the Calibre Web interface. Credit: Patrick Campanale / How-To Geek

The biggest thing that Calibre Web does, for me, is allows me to upload books easily to my library. While I’m technically able to do it through the Calibre VNC remote, there are a lot more steps involved there.

With Calibre Web, you simply navigate to the admin interface, then click “Edit Basic Configuration,” toggle down “Feature Configuration,” then check “Enable Uploads.” While enabling uploads takes a few steps, once enabled, you have a nice upload button on the front end of Calibre Web.

Clicking the upload button allows you to choose all compatible file formats to upload, and Calibre Web then handles the rest from there. You can manually edit the metadata of a book, or fetch metadata from places like Google Books or Kindle to populate descriptions, authors and titles, the cover photo, and more.

Calibre Web upload function being enabled. Credit: Patrick Campanale / How-To Geek

Where Calibre Web really changed things for me, however, is with its Send to Kindle integration.

Send to Kindle still works—here’s how

While I might be ditching Kindle as a means of purchasing books, I’m still keeping my (aging) Kindle Voyage around as long as it continues to work.

Calibre Web Send EPUB to eReader function enabled at the top. Credit: Patrick Campanale / How-To Geek

Amazon still offers its Send to Kindle functionality, which gives your Kindle devices unique email addresses where eBooks can be sent. Calibre Web natively integrates with this once you have an SMTP or OAuth email account set up.

Kindle logo on the front of the 2015 Amazon Kindle Paperwhite eReader


PSA: You Can Email Books and Documents to Your Kindle

It’s not a new trick, but it’s just as useful as ever.

I personally went the route of SMTP with an app password for my Google account. OAuth just wasn’t working for me in the Docker container, and that seems to actually be something relatively common—so SMTP it was.

Once you have an email account configured for sending mail, you’re able to simply click “Send EPUB to Reader” and Calibre Web will handle the rest behind the scenes. For myself, it typically took a few minutes before the eBook was on my Kindle, but it worked every time I used it.

This will allow me to source my own eBooks elsewhere besides the Kindle store, host them myself, and still read them on my Kindle. It’s truly the best of all worlds.


Embrace the open-source world

A Calibre server is one of the best entrypoints to homelabbing—a hobby that rejects paid web-based services in favor of local, often free, alternatives. You can build a robust homelab using almost any device, including an old laptop, and use it to replace your Google Photos subscription, spin up a personal media server, or create a private smart home system.



Source link

Leave a Reply

Subscribe to Our Newsletter

Get our latest articles delivered straight to your inbox. No spam, we promise.

Recent Reviews


Google Maps has a long list of hidden (and sometimes, just underrated) features that help you navigate seamlessly. But I was not a big fan of using Google Maps for walking: that is, until I started using the right set of features that helped me navigate better.

Add layers to your map

See more information on the screen

Layers are an incredibly useful yet underrated feature that can be utilized for all modes of transport. These help add more details to your map beyond the default view, so you can plan your journey better.

To use layers, open your Google Maps app (Android, iPhone). Tap the layer icon on the upper right side (under your profile picture and nearby attractions options). You can switch your map type from default to satellite or terrain, and overlay your map with details, such as traffic, transit, biking, street view (perfect for walking), and 3D (Android)/raised buildings (iPhone) (for buildings). To turn off map details, go back to Layers and tap again on the details you want to disable.

In particular, adding a street view and 3D/raised buildings layer can help you gauge the terrain and get more information about the landscape, so you can avoid tricky paths and discover shortcuts.

Set up Live View

Just hold up your phone

A feature that can help you set out on walks with good navigation is Google Maps’ Live View. This lets you use augmented reality (AR) technology to see real-time navigation: beyond the directions you see on your map, you are able to see directions in your live view through your camera, overlaying instructions with your real view. This feature is very useful for travel and new areas, since it gives you navigational insights for walking that go beyond a 2D map.

To use Live View, search for a location on Google Maps, then tap “Directions.” Once the route appears, tap “Walk,” then tap “Live View” in the navigation options. You will be prompted to point your camera at things like buildings, stores, and signs around you, so Google Maps can analyze your surroundings and give you accurate directions.

Download maps offline

Google Maps without an internet connection

Whether you’re on a hiking trip in a low-connectivity area or want offline maps for your favorite walking destinations, having specific map routes downloaded can be a great help. Google Maps lets you download maps to your device while you’re connected to Wi-Fi or mobile data, and use them when your device is offline.

For Android, open Google Maps and search for a specific place or location. In the placesheet, swipe right, then tap More > Download offline map > Download. For iPhone, search for a location on Google Maps, then, at the bottom of your screen, tap the name or address of the place. Tap More > Download offline map > Download.

After you download an area, use Google Maps as you normally would. If you go offline, your offline maps will guide you to your destination as long as the entire route is within the offline map.

Enable Detailed Voice Guidance

Get better instructions

Voice guidance is a basic yet powerful navigation tool that can come in handy during walks in unfamiliar locations and can be used to ensure your journey is on the right path. To ensure guidance audio is enabled, go to your Google Maps profile (upper right corner), then tap Settings > Navigation > Sound and Voice. Here, tap “Unmute” on “Guidance Audio.”

Apart from this, you can also use Google Assistant to help you along your journey, asking questions about your destination, nearby sights, detours, additional stops, etc. To use this feature on iPhone, map a walking route to a destination, then tap the mic icon in the upper-right corner. For Android, you can also say “Hey Google” after mapping your destination to activate the assistant.

Voice guidance is handy for both new and old places, like when you’re running errands and need to navigate hands-free.

Add multiple stops

Keep your trip going

If you walk regularly to run errands, Google Maps has a simple yet effective feature that can help you plan your route in a better way. With Maps’ multiple stop feature, you can add several stops between your current and final destination to minimize any wasted time and unnecessary detours.

To add multiple stops on Google Maps, search for a destination, then tap “Directions.” Select the walking option, then click the three dots on top (next to “Your Location”), and tap “Edit Stops.” You can now add a stop by searching for it and tapping “Add Stop,” and swap the stops at your convenience. Repeat this process by tapping “Add Stops” until your route is complete, then tap “Start” to begin your journey.

You can add up to ten stops in a single route on both mobile and desktop, and use the journey for multiple modes (walking, driving, and cycling) except public transport and flights. I find this Google Maps feature to be an essential tool for travel to walkable cities, especially when I’m planning a route I am unfamiliar with.


More to discover

A new feature to keep an eye out for, especially if you use Google Maps for walking and cycling, is Google’s Gemini boost, which will allow you to navigate hands-free and get real-time information about your journey. This feature has been rolling out for both Android and iOS users.



Source link