Building Your Own Audible

A quick look at some options for streaming audio books.

I have audiobooks from a variety of sources, which I've purchased in a variety of ways. I have some graphic audio books in MP3 format, a bunch of Audible books in their DRM'd format and ripped CDs varying from m4b (Apple format for books) to MP3 and even some OGG. That diversity makes choosing a listening platform difficult. In order to meet my idea of perfection, I need:

  • A system that plays any audio format.

  • A way to play books on multiple platforms, iOS Android and web browsers.

  • Current location stored and honored across platforms.

  • The ability to play audiobooks at different speeds.

  • An easy way to access my entire library remotely.

Several options come close. My favorite Android audiobook app, for instance, is "Listen", available in the Play Store. But, it falls short on the multi-platform front and also on accessing books remotely. Audible itself will do most of what I need, but it doesn't allow importing remote books. And, traditional music players are out.

Honestly, Plex seems like the perfect platform for audiobooks. And although some people do use it, they're just kludging things. Plex doesn't natively support the concepts behind audiobooks, so the process isn't smooth at all. I'm honestly hoping that changes in the future, because it would be a perfect addition to an already amazing system. Thankfully, in the meantime, there's BookSonic.

You've probably heard of SubSonic, which is a music streaming server that allows you to do pretty much what I'm looking for with audiobooks, but it's strictly for music. Patrik Johansson has forked SubSonic and created BookSonic, specifically modified to handle audiobooks. It even handles tagging and book art. Currently, the system isn't perfect, but it's closer than any other projects come to book nirvana, and if you use Docker, it's dead simple to get installed. A simple:

docker -d create \
  --name booksonic \
  -p 8080:8080 \
  -v <path/to/storage/location/on/host>:/audiobooks \
  -v <path/to/configuration/on/host>:/var/booksonic \

will get BookSonic running on your Docker host. Once it's installed, just head over to http://docker_host:8080 and log in as admin/admin. You can start the book scan, and fairly soon, your books will show up for you to start playing!

Many things about BookSonic do need work (syncing locations to the web client and so on), but it's a great start, and it's a wonderful way to access all your books in one place. Well, as long as you figure out how to strip the DRM from your Audible books anyway! For more details, head over to

Shawn is Associate Editor here at Linux Journal, and has been around Linux since the beginning. He has a passion for open source, and he loves to teach. He also drinks too much coffee, which often shows in his writing.

Load Disqus comments