Self-Hosted Audiobookshelf: Own the Audiobooks You Paid For

You bought the audiobook. You did not buy the right to keep it. Close your account, move countries, or watch a title get pulled from the catalogue, and the thing you paid for quietly stops being yours. If you have a shelf of DRM-free audiobooks from Libro.fm or Downpour, a pile of ripped CDs, or a podcast habit that outgrew the app you listen in, Audiobookshelf is the server that gives you back the shelf.

It is GPL-3.0, has been in steady development since 2021, and sits around 14,600 stars on GitHub. Plex and Jellyfin will technically play an audiobook, but they think in episodes and movies. Audiobookshelf thinks in chapters, narrators, series order, and the exact second you fell asleep last night.

What it actually does

You point it at folders of audio files. It reads the structure, pulls metadata and cover art, and turns the mess into a browsable library with working chapters. From there:

  • Streams every common audio format on the fly, no pre-conversion step
  • Tracks progress per user and syncs it across devices, so the phone and the browser agree on where you are
  • Handles podcasts properly: search, subscribe, auto-download new episodes
  • Multi-user with custom permissions, which is the whole point for a family or a classroom
  • Has a chapter editor, Audnexus lookups, and can merge a folder of MP3s into a single m4b
  • Does basic ebooks too (epub, pdf, cbr, cbz) with a built-in reader and send-to-Kindle
  • Runs as a PWA, supports Chromecast, and has open-source Android and iOS apps (both still beta)
  • Takes automated daily backups of your metadata

The progress sync is the feature that makes people stop fiddling and just use it. Phone in the car, laptop at lunch, same position, no thinking about it.

Why self-host rather than rent

DRM-free means portable, and portable means yours. Audiobookshelf does not crack anything. It plays files you already own. That is exactly why it works: no vendor can revoke a file sitting on your own disk.

Audiobook libraries get big and stay still. A hundred unabridged titles runs a few hundred gigabytes. That is lousy economics on consumer cloud storage charged per month, and perfectly fine on a VPS disk you already pay for.

Listening history is unusually personal. What you read and when you read it says a lot. Self-hosting means the only server with that log is yours.

It is good for more than hobby shelves. Publishers sending review copies to narrators, schools distributing accessible-format texts, a small press shipping advance listens. Open RSS feeds for podcasts and audiobooks mean you can hand someone a private feed without building an app.

Who it fits, and who should skip it

Good fit: anyone with a DRM-free collection, families who want one library and separate progress, podcast listeners who want episodes archived instead of expiring, and Canadian organisations distributing audio who would rather not explain a US storage provider in a privacy review.

Skip it if: your library is entirely Audible. Those files are DRM-locked and Audiobookshelf will not play them, by design. Also know that the Vue frontend is mid-rewrite to React, so frontend pull requests are not being merged right now. That is a contributor concern more than a user one, but it does mean the UI will shift under you at some point.

What running it takes

It is a Node.js app on SQLite, which is a refreshingly boring stack for something that streams media. No Postgres, no Redis, no transcoding farm. Docker Compose is the obvious path:

  • Image is ghcr.io/advplyr/audiobookshelf:latest, listening on port 13378 by default. Change the external port if you need to, never the internal one.
  • Four volumes to get right: your media directories (/audiobooks, /podcasts, add as many as you like), plus /metadata and /config. The config directory has to live on the same physical machine as the server.
  • Set the user: directive to your own UID and GID if you care about file ownership on the media folders, and you probably do.

Resources are modest. It is not transcoding video, so 1 to 2 GB of RAM handles a household comfortably. Your real constraint is disk, and after that, upstream bandwidth when three people are streaming at once.

One gotcha worth knowing before you fight your reverse proxy for an hour: Audiobookshelf needs a websocket connection. If your NGINX or Caddy config does not pass upgrade headers through, the app loads and then behaves strangely. Subfolder installs work, but the path must be exactly /audiobookshelf and that is not configurable.

Also note the authentication system changed in v2.26.0, with OIDC support that has kept improving since. If you are following an older tutorial, check its date.

Hosting it in Canada

This is a good match for a Docker VPS with real disk behind it. Compose file, HTTPS at the proxy, firewall down to 443 and SSH, done in an evening. Size the volume for where your collection is going, not where it is today, because audiobook libraries only grow and nobody enjoys migrating 400 GB in a hurry. Our VPS plans let you add storage without rebuilding, which is the configuration you want for a media server.

The daily metadata backups cover your library structure, progress, and users. They do not cover the audio files themselves, so treat the media directory as its own backup job. If that distinction is fuzzy, we wrote about snapshots versus backups and backups that actually restore. Re-acquiring a few hundred audiobooks is not a recovery plan.

Worth watching your disk headroom as the library grows, too. Media servers are the classic way people discover their disk filled up at an inconvenient moment.

Bottom line

Audiobookshelf is the rare self-hosted app that replaces a paid service and is genuinely nicer to use. Proper chapters, progress that follows you between devices, podcasts that do not vanish, and a library nobody can quietly edit. If you already run Navidrome for music, this is the obvious next container, and it will feel familiar.

Want a Canadian VPS sized for a media library instead of a brochure? Talk with Swift Host. We will ask how big your collection is and how fast it is growing before quoting you a disk, which is the only way that question gets answered properly.

Tags:
  • Audiobookshelf
  • Audiobooks
  • Podcasts
  • Self-Hosted
  • Docker

Need Help With Your Hosting?

Tell us about your application — we respond within 1 hour with honest recommendations.