How to Self-Host Audiobookshelf: Audiobook and Podcast Server 2026
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
- Settings → Libraries → + Add library
- Type: Books (for audiobooks) or Podcast
- Folder:
/audiobooksor/podcasts - Scan → Audiobookshelf finds all books
Metadata scan
After adding:
- Select all books → Fetch metadata
- Audiobookshelf queries Audible, Google Books, Open Library
- Fetches: cover art, description, narrator, series info, publish date
Part 5: iOS / Android Apps
iOS
- Install Audiobookshelf from App Store
- Connect to Server →
https://audio.yourdomain.com - Log in
- 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
- Install from Google Play
- Same setup process
Part 6: Podcast Subscriptions
Audiobookshelf manages podcasts with auto-download:
Add a podcast
- Podcasts library → + Add Podcast
- Search by name:
"Darknet Diaries","99% Invisible", etc. - 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
- Settings → Users → + Create user
- Username, password
- 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.