Self-Hosted Audiobooks

I typically spend around two to five hours per week in a car, driving back and forth to work. While some weeks I work from home more regularly, I still end up in the car a few hours per week.

During these longer commutes, I love listening to audiobooks. However, being the self-hosted advocate that I am, relying on a SaaS provider, like Audible, for my audiobooks runs counter to my beliefs. This post describes my self-hosted setup that lets me access my library anywhere.

Audiobook Source

I exclusively use Audible to get my audiobook files. While Amazon is generally the devil, Audible has amazing quality and range of audiobooks. Also, they let you download the .m4b without any issues.

I’ve got an Audible Premium Plus subscription, which gives me a free audiobook every month for $14.95/month. This price is typically cheaper than purchasing audiobooks at retail, so it works out for me. I also don’t typically go through more than one audiobook per month, so the cadence works great.

Audiobook Downloader

To automate the downloading of the audiobooks from Audible, I use a tool called OpenAudible. I pay $18.95/year for the license, and it’s tied to the version that you purchase. In other words, if, after a year, a new version is out, I have to pay another $18.95 in order to upgrade. However, I can choose to not upgrade and stay on the version I purchased permanently. It’s a pretty standard perpetual license model.

OpenAudible is configured to connect to my Audible account and download all my audiobooks to a well-known network share. I run it on my personal MacBook Air.

Download Location

Without going into too much detail, I have a QNAP TS-431 on the network that houses all my network shares. In this case, I have a network share called Audiobooks that I mount on my Air. I then configure OpenAudible to export all downloaded files to that network share.

Media Server

I run Plex on a server that is connected to my network as my media server. Adding the library and configuring it is a bit of an adventure in metadata, but generally it’s straightforward.

Before adding any libraries, I added the Audnexus library agent to Plex following the instructions on its GitHub README.

I added an Audiobooks library that uses the Music type. From there, I add the auto-generated books directory that OpenAudible creates in the Audiobooks mount point.

Within the configuration of the library, I chose the Plex Music Scanner for the scanner and the newly-added Audnexus Agent for the agent. The Audnexus GitHub README includes the recommended configuration for the library, as well.

Listening to the Audiobooks

Now that these audiobooks exist on a self-hosted media server, it’s time to listen to them! While it’s true that I could use the native Plex app on my devices, I’ve found that Prologue is an upgrade in every way. In order to get offline playback, you have to spend $5 one time, which is well worth the price.

From here, I just plug my phone into my car and listen to the audiobooks via CarPlay.

Wrapping It Up

All-in-all, my self-hosted audiobook configuration is pretty straightforward, and it requires almost no maintenance. Every month or so, I open my MacBook Air, fire up OpenAudible, sync my library, and everything just works. I typically listen to books after downloading them locally in Prologue. It all works really well!