Skip to main content

How to Self-Host Audiobookshelf: Audiobook and Podcast Server 2026

·OSSAlt Team
audiobookshelfaudiobookspodcastsself-hostingdockeraudible2026

TL;DR

Audiobookshelf (GPL 3.0, ~7K GitHub stars) is the go-to self-hosted audiobook and podcast server. It streams your MP3/M4B audiobook collection and podcast RSS feeds to the official iOS and Android apps, syncing playback position across all your devices. Audible charges $14.95/month for 1 credit. Audiobookshelf serves your own purchased and downloaded audiobook collection for free — no DRM restrictions, no monthly limits.

Key Takeaways

  • Audiobookshelf: GPL 3.0, ~7K stars — audiobooks + podcasts in one server
  • Dedicated mobile apps: iOS and Android apps with offline downloads and progress sync
  • M4B/MP3: Handles both single-file audiobooks (M4B) and multi-part (one MP3 per chapter)
  • Chapter markers: Automatically detects or creates chapter markers in M4B files
  • Podcast manager: Subscribe to podcast RSS feeds, auto-download new episodes
  • Audible metadata: Fetches metadata (cover, description, narrator) from Audible/Google

Part 1: Docker Setup

# docker-compose.yml
services:
  audiobookshelf:
    image: ghcr.io/advplyr/audiobookshelf:latest
    container_name: audiobookshelf
    restart: unless-stopped
    ports:
      - "13378:80"
    volumes:
      - /path/to/audiobooks:/audiobooks    # Audiobook library
      - /path/to/podcasts:/podcasts         # Podcast library
      - audiobookshelf_config:/config
      - audiobookshelf_metadata:/metadata   # Cover images, metadata cache
    environment:
      TZ: America/Los_Angeles

volumes:
  audiobookshelf_config:
  audiobookshelf_metadata:
docker compose up -d

Visit http://your-server:13378 → create root account on first visit.


Part 2: HTTPS with Caddy

audio.yourdomain.com {
    reverse_proxy localhost:13378
}

Part 3: Audiobook Library Structure

Audiobookshelf reads folder structure to identify books:

Single-author, single-book

/audiobooks/
├── Brandon Sanderson/
│   ├── The Way of Kings/
│   │   ├── The Way of Kings.m4b        ← Single-file audiobook (preferred)
│   │   └── cover.jpg                   ← Custom cover (optional)
│   └── Words of Radiance/
│       ├── Words of Radiance.m4b
└── Andy Weir/
    └── The Martian/
        ├── The Martian Part 01.mp3     ← Multi-part audiobook
        ├── The Martian Part 02.mp3
        └── The Martian Part 03.mp3

Series (with series metadata)

/audiobooks/
└── Discworld/
    ├── 01 - The Colour of Magic.m4b
    ├── 02 - The Light Fantastic.m4b
    └── 03 - Equal Rites.m4b

Part 4: Add Libraries

  1. Settings → Libraries → + Add library
  2. Type: Books (for audiobooks) or Podcast
  3. Folder: /audiobooks or /podcasts
  4. Scan → Audiobookshelf finds all books

Metadata scan

After adding:

  1. Select all books → Fetch metadata
  2. Audiobookshelf queries Audible, Google Books, Open Library
  3. Fetches: cover art, description, narrator, series info, publish date

Part 5: iOS / Android Apps

iOS

  1. Install Audiobookshelf from App Store
  2. Connect to Serverhttps://audio.yourdomain.com
  3. Log in
  4. Browse library, tap book → Play

Features:

  • Background audio with system controls
  • Offline downloads (download book → listen without server access)
  • Sleep timer
  • Chapter navigation
  • Playback speed (0.5x — 3x)
  • Progress sync with server

Android

  1. Install from Google Play
  2. Same setup process

Part 6: Podcast Subscriptions

Audiobookshelf manages podcasts with auto-download:

Add a podcast

  1. Podcasts library → + Add Podcast
  2. Search by name: "Darknet Diaries", "99% Invisible", etc.
  3. Or paste RSS URL: https://feeds.simplecast.com/podcast.rss

Auto-download settings

Per podcast:

  • Auto-download new episodes: Yes
  • Download last N episodes: 3
  • Auto-delete after listening: Yes

Episode management

Podcasts/
└── Darknet Diaries/
    ├── episode-001.mp3     ← downloaded
    ├── episode-002.mp3     ← downloaded
    └── metadata.json       ← episode list, descriptions

Part 7: Audible DRM Removal (Personal Use)

If you have DRM-free audiobooks or have legitimately stripped DRM from your own purchased books:

# AAX (Audible format) → M4B conversion using your activation bytes:
# First: get your activation bytes from Audible (requires your account credentials)

# Install AAXtoMP3:
docker run --rm -v /path/to/aax:/aax -v /path/to/output:/output \
  kaczmarkiewiczp/aaxtomp3:latest \
  /aax/your-book.aax \
  -b your-activation-bytes \
  -o /output \
  --m4b

# The resulting .m4b file drops into your audiobooks folder
# Audiobookshelf picks it up automatically

Note: Only do this with audiobooks you've purchased. DRM removal is legal in many jurisdictions for personal use of legitimately purchased content.


Part 8: Multi-User and Reading Progress

Users

  1. Settings → Users → + Create user
  2. Username, password
  3. Permissions: Can access library, can download, etc.

Reading statistics

Per user:

  • Total listening time
  • Books started/finished
  • Streaks and progress over time

Progress bookmarks

Audiobookshelf saves:

  • Current position (to the second)
  • Chapters completed
  • Speed preference per book
  • Notes/bookmarks at timestamps

All synced across web UI and mobile apps.


Maintenance

# Update:
docker compose pull
docker compose up -d

# Backup:
tar -czf audiobookshelf-backup-$(date +%Y%m%d).tar.gz \
  $(docker volume inspect audiobookshelf_audiobookshelf_config --format '{{.Mountpoint}}') \
  $(docker volume inspect audiobookshelf_audiobookshelf_metadata --format '{{.Mountpoint}}')

# Rebuild library cache (if metadata is wrong):
# Settings → Libraries → Scan and Match

# Logs:
docker compose logs -f audiobookshelf

See all open source audiobook and media tools at OSSAlt.com/categories/media.

Comments