Abstract purple and amber illustration representing a self-hosted audiobook and podcast server

Audiobookshelf

Audiobookshelf is a free, open-source server for streaming a personal audiobook and podcast library to dedicated apps on any device. It runs in a single Docker container, tracks listening progress per user across every device automatically, and treats podcasts as a first-class citizen instead of an afterthought.

Quick facts: Audiobookshelf is open source under the GNU GPL v3 license, confirmed from GitHub’s LICENSE file. It’s built by advplyr and community contributors, with over 13,000 stars on GitHub and frequent releases. The official Docker image is ghcr.io/advplyr/audiobookshelf, also mirrored on Docker Hub, default port 13378. Same rule as everywhere else on this site: this page assumes audio already owned, whether that’s DRM-free purchases, personal rips of physical audiobooks, public-domain recordings, or podcasts. Nothing else.

What is Audiobookshelf?

Audiobookshelf is built by advplyr and an active community of contributors on GitHub. Where general-purpose media servers treat audio as a secondary format bolted onto a video-first design, Audiobookshelf was built around two formats specifically: audiobooks and podcasts. It browses books by author, series, and title; searches for and subscribes to podcast feeds with auto-download for new episodes; and streams whatever audio format is already on disk without forcing a conversion first.

How does Audiobookshelf organize a library?

Folder structure matters here. Books sort into Author, then an optional Series, then Title folders, and the title folder name itself can carry the publish year, series sequence number, and narrator without any manual tagging. Podcasts are simpler: one flat folder per show holding every episode and a cover image. A library already organized this way on disk mostly just works once Audiobookshelf scans it, and the official directory structure docs cover every supported naming pattern.

Is Audiobookshelf legal to run?

Yes. It’s open-source self-hosted software, and running it is no different, legally, from running any other personal media server. Audiobookshelf doesn’t fetch, unlock, or scrape anything; it only plays back audio files already sitting in a folder it’s pointed at. What matters is where those files came from: audiobooks bought DRM-free from stores like Libro.fm, personal rips of physical audiobooks already owned, public-domain recordings from LibriVox or Project Gutenberg, and podcast RSS feeds are all fair game. This page has nothing to do with audio without the rights to it.

How to install Audiobookshelf with Docker

Prereq: Docker and Docker Compose need to already be installed. Our homelab setup guide for beginners covers picking hardware for a first Docker project.

  1. Create four folders: config, metadata, audiobooks, and podcasts.
  2. Save the docker-compose.yml below and edit the volume paths to match.
  3. Run the compose file from that folder.
  4. Open the server’s IP address on port 13378 and create the first admin account.
services:
  audiobookshelf:
    image: ghcr.io/advplyr/audiobookshelf:latest
    container_name: audiobookshelf
    ports:
      - "13378:80"
    restart: unless-stopped
    volumes:
      - "/path/to/config:/config"
      - "/path/to/metadata:/metadata"
      - "/path/to/audiobooks:/audiobooks"
      - "/path/to/podcasts:/podcasts"
    environment:
      - TZ=America/Toronto
docker compose up -d

Set TZ to a real timezone so scheduled tasks like podcast downloads and nightly backups fire correctly. Keep all four volume mappings as separate directories, and note that since version 2.3.x the /config volume needs to live on the same machine running Audiobookshelf rather than a network share, per the official Docker installation docs.

Tip: updating later is just docker compose pull, then docker compose up -d.

Warning: Audiobookshelf requires a working websocket connection. Behind a reverse proxy, make sure the Upgrade and Connection headers are passed through, or login will fail with a generic error.

Which mobile apps work with Audiobookshelf?

Compatible with: official, open-source apps for Android (Google Play Store) and iOS (TestFlight beta), plus a web client and PWA that work on anything with a browser.

Both mobile apps are built by the same team and sync listening progress with the server in real time, so picking a book back up on a different device lands on the same page instantly. The Android app supports Chromecast for casting straight from a phone. The iOS app installs through Apple’s TestFlight rather than the App Store. Apple caps TestFlight betas at 10,000 testers, and Audiobookshelf’s has filled up before now.

Audiobookshelf vs Plex and Booksonic for audiobooks

Plex still has no native audiobook support: audio gets forced through a data model built for music, sorted into artist, album, and track fields that don’t map cleanly onto a 12-hour book split across dozens of chapter files. A workable audiobook setup on Plex means leaning on third-party metadata agents and companion apps, with inconsistent progress tracking.

Booksonic-Air is the closer comparison: a GPL-3.0 audiobook server built on top of Airsonic and the Subsonic API. It’s a real project with a real user base, but its most recent tagged release shipped back in January 2022. Much of the community has since drifted to Audiobookshelf instead.

AudiobookshelfPlexBooksonic-Air
Built forAudiobooks & podcastsVideo & music, audio bolted onAudiobooks, via Subsonic API
Podcast supportNativeNoneLimited
Official mobile appAndroid + iOS (beta)Android + iOSNone (Subsonic clients only)
DevelopmentActive, frequent releasesActiveInactive since 2022
LicenseOpen source (GPL-3.0)Proprietary / freemiumOpen source (GPL-3.0)
  • Purpose-built for audiobooks and podcasts, not a video server with audio bolted on
  • Official Android and iOS apps with real-time progress sync across devices
  • Reads folder and filename metadata most libraries already have, no manual tagging pass needed
  • Handles basic ebooks too (epub, pdf, cbr, cbz) alongside audio
  • iOS app is a TestFlight-only beta, not a full App Store release
  • Directory structure needs to roughly follow its naming conventions to work well
  • Reverse proxy subfolder paths are limited to a fixed /audiobookshelf path
  • Ebook support is basic, not a full-featured e-reader platform

FAQ

Is Audiobookshelf free?

Completely. It’s open source under GPL-3.0, with no premium tier or paywalled features, and the official mobile apps are free too.

What port does Audiobookshelf use by default?

Port 13378 on the host, mapped to port 80 inside the container, as set in the official docker-compose example. It’s changeable through the port mapping.

Is Audiobookshelf legal to run?

Yes, it’s open-source software like any other self-hosted program. What matters is what gets stored on it, and this page assumes audio that’s already legally owned.

Does Audiobookshelf support podcasts?

It does, and natively at that. Audiobookshelf searches for and subscribes to podcast RSS feeds, auto-downloads new episodes, and exposes its own RSS feeds back out for audiobooks and podcasts alike.

Is there an Audiobookshelf app for iOS and Android?

Yes, both are official and open source. The Android app installs from the Google Play Store; the iOS app is a TestFlight beta rather than a full App Store release.

Can I install Audiobookshelf without Docker?

It’s not required. Native packages exist for Debian and Ubuntu, RHEL-based distros, and NixOS, plus a community-maintained Windows installer, though Docker Compose remains the most consistent path across platforms.

The Jellyfin and Plex app pages cover general-purpose media servers that can technically handle audio, and Navidrome rounds things out for a dedicated music library running alongside Audiobookshelf on the same box. For comics, manga, and ebooks instead of audio, the Kavita fiche covers the same kind of dedicated library server from that angle. Our homelab setup guide for beginners covers the Docker basics all of these depend on.