Audiobookshelf

Self-hosted audiobook and podcast server

Media Servers ★ 14.4k stars Easy setup GPL-3.0

Audiobookshelf is a self-hosted server for managing and streaming audiobooks and podcasts with progress sync across devices. It targets listeners who want their own Audible-style library. It is deployed via Docker.

Key features

  • Audiobook and podcast management
  • Progress sync across devices
  • Native mobile apps
  • Podcast auto-download

Pros & cons

Strengths

  • Great mobile apps
  • Handles podcasts too
  • Simple deployment

Trade-offs

  • Audio only
  • Metadata sometimes needs cleanup

Audiobookshelf replaces

Last reviewed Aug 26, 2026 · 838 words

The single decision that decides whether Audiobookshelf is pleasant or a metadata-cleanup hobby is made before the container starts: how you lay out the folders. Get Author/Series/Title right on disk and the server reads authors, series and sequence numbers straight from the paths, matches the rest online, and you rarely touch the edit screen. Dump 400 loose MP3 folders in a directory called books and you will spend a weekend fixing what a naming convention would have done for free.

Folder layout is the whole metadata game

Audiobookshelf scans a library folder and infers metadata from structure first, tags second, online lookups third. The layout it understands best is one directory per book under an author directory, with an optional series level and a sequence prefix:

/audiobooks/Terry Pratchett/Discworld/01 - The Colour of Magic/
/audiobooks/Terry Pratchett/Discworld/02 - The Light Fantastic/
/audiobooks/Ursula K. Le Guin/A Wizard of Earthsea/

A book directory can hold one .m4b, a pile of numbered .mp3 files, a cover image and a .cue or chapter file; multi-file books get tracks ordered by filename, so zero-pad the numbers. After the scan, the Match tool queries Audible, Google Books, iTunes and Audnexus and fills in narrator, description, publish year and cover. The catalogue's con, "metadata sometimes needs cleanup", is real for obscure titles and for anything the naming convention did not cover; for mainstream audiobooks with sane folders the hit rate is high enough that I stopped checking.

Four volumes, and the two that matter for backups

services:
  audiobookshelf:
    image: ghcr.io/advplyr/audiobookshelf:latest
    ports:
      - "13378:80"
    volumes:
      - /srv/audiobooks:/audiobooks
      - /srv/podcasts:/podcasts
      - ./config:/config
      - ./metadata:/metadata
    restart: unless-stopped

The media directories are read from and, for podcasts, written to. /config holds the database, users and settings. /metadata holds downloaded covers, cached artwork, and per-item metadata files, and is the one people forget: lose it and every cover and description you matched has to be matched again. Back up both, plus the media. Audiobookshelf also has its own scheduled backup under Settings that zips config and metadata to a path you choose; turn it on, but ship the result somewhere else too, as my 3-2-1 backups piece argues at length. At 256 MB of RAM this runs happily beside Jellyfin on the same box.

Podcasts are not an afterthought

Create a second library of type Podcast, search for a show or paste an RSS feed, and the server subscribes, checks on a schedule you set, downloads new episodes into /podcasts/Show Name/, and tracks what you have heard. OPML import brings a whole subscription list across from another client in one go. Because playback and progress sync are the same code path as audiobooks, a podcast half-listened on the phone resumes on the laptop at the right second. It is a better podcast client than most podcast clients, and it retires a separate app. The one gap is that it is not a podcast publisher; it consumes feeds, it does not produce them.

The apps are why you pick it over a generic media server

Jellyfin can play audiobooks and Navidrome can play anything with an ID3 tag, but neither understands chapters, series order, narrators or "I am 6 hours 14 minutes into a 22-hour book, on three devices" the way this does. The official Android app is on the Play Store; the official iOS app has spent a long time in TestFlight, so check its current status before promising it to a family member, and know that third-party iOS clients such as Plappa and ShelfPlayer are widely used with it. Sleep timer, variable speed, chapter skipping, offline downloads and CarPlay or Android Auto are all present. Multi-user accounts with per-library permissions mean a child's account sees only the children's library. If you are leaving Audible, the app experience is the part you will not miss.

It is an audio server; treat it as one

Audiobookshelf lives in the media server category, but its scope is deliberately narrow: audiobooks and podcasts. It is not a music server and it is not a proper ebook platform; keep Calibre-Web or Kavita for reading and Navidrome for music. That focus is why the interface makes sense and why a 14,000-star project that started in 2021 has stayed easy to run.

What I'd do

Reorganise the files into Author/Series/NN - Title before the first scan, using a script if the collection is large. Deploy with the four volumes above, enable the built-in backup, and add /config and /metadata to the nightly off-box job. One library for audiobooks, one for podcasts, OPML imported from the old client. Then put the app on every phone in the house and delete the Audible app, because the only thing it still does better is sell you books.

Similar media servers apps