docker.recipes

Audiobookshelf Server

beginner

Audiobookshelf self-hosted audiobook and podcast server.

Overview

Audiobookshelf is a modern, self-hosted audiobook and podcast server developed by developer advplyr, designed to provide a comprehensive media streaming solution for personal libraries. This open-source application serves as a complete replacement for commercial audiobook platforms, offering features like progress tracking, bookmarks, sleep timers, and multi-user support with library management capabilities. Unlike subscription-based services, Audiobookshelf gives users complete control over their media collections while providing professional-grade streaming functionality. This Docker deployment creates a complete audiobook and podcast streaming server using the official Audiobookshelf container image, configured with separate volume mounts for audiobook and podcast libraries. The setup includes dedicated storage for configuration data and metadata, ensuring that library information, user preferences, and listening progress persist across container updates. The configuration exposes Audiobookshelf on port 13378 with timezone support and automatic restart capabilities. This stack is ideal for individuals and families who want to digitize and stream their personal audiobook collections, podcast enthusiasts who prefer self-hosted solutions over cloud services, and privacy-conscious users who want complete control over their listening data. The combination provides enterprise-level media server functionality while maintaining the simplicity needed for home lab deployments and personal use cases.

Key Features

  • Web-based library management with drag-and-drop file uploads and automatic metadata detection
  • Native mobile applications for iOS and Android with offline download capabilities
  • Multi-user support with individual progress tracking and personalized libraries
  • Podcast subscription management with automatic episode downloads and RSS feed support
  • Advanced playbook features including sleep timers, playback speed control, and chapter navigation
  • Library statistics and reading analytics with listening time tracking and completion rates
  • OpenAPI integration for third-party applications and custom automation workflows
  • Backup and sync capabilities for user data and listening progress across devices

Common Use Cases

  • 1Personal audiobook library streaming for individuals with large digital book collections
  • 2Family media server providing separate user accounts and parental controls for children
  • 3Podcast archival system for content creators and researchers who need offline access
  • 4Educational institutions hosting course materials and lecture recordings for students
  • 5Book clubs and reading groups sharing curated audiobook collections with members
  • 6Home automation integration triggering audiobook playback based on schedules or events
  • 7Remote access media server for travelers who want access to their library worldwide

Prerequisites

  • Docker and Docker Compose installed with at least 2GB available RAM for media processing
  • Sufficient storage space for audiobook and podcast files, typically 50GB minimum for moderate collections
  • Network port 13378 available and not conflicting with other services
  • Organized media files in supported formats (MP3, M4A, FLAC, OGG) with proper directory structure
  • Basic understanding of volume mounting for mapping local media directories to container paths

For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

docker-compose.yml

docker-compose.yml
1services:
2 audiobookshelf:
3 image: ghcr.io/advplyr/audiobookshelf:latest
4 container_name: audiobookshelf
5 environment:
6 - TZ=${TZ}
7 volumes:
8 - audiobookshelf_config:/config
9 - audiobookshelf_metadata:/metadata
10 - /path/to/audiobooks:/audiobooks
11 - /path/to/podcasts:/podcasts
12 ports:
13 - "13378:80"
14 restart: unless-stopped
15 networks:
16 - audiobookshelf-network
17
18volumes:
19 audiobookshelf_config:
20 audiobookshelf_metadata:
21
22networks:
23 audiobookshelf-network:
24 driver: bridge

.env Template

.env
1# Audiobookshelf
2TZ=UTC

Usage Notes

  1. 1Web UI at http://localhost:13378
  2. 2Create account on first visit
  3. 3Mobile apps for iOS/Android
  4. 4Podcast subscriptions
  5. 5Progress syncing across devices

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 audiobookshelf:
5 image: ghcr.io/advplyr/audiobookshelf:latest
6 container_name: audiobookshelf
7 environment:
8 - TZ=${TZ}
9 volumes:
10 - audiobookshelf_config:/config
11 - audiobookshelf_metadata:/metadata
12 - /path/to/audiobooks:/audiobooks
13 - /path/to/podcasts:/podcasts
14 ports:
15 - "13378:80"
16 restart: unless-stopped
17 networks:
18 - audiobookshelf-network
19
20volumes:
21 audiobookshelf_config:
22 audiobookshelf_metadata:
23
24networks:
25 audiobookshelf-network:
26 driver: bridge
27EOF
28
29# 2. Create the .env file
30cat > .env << 'EOF'
31# Audiobookshelf
32TZ=UTC
33EOF
34
35# 3. Start the services
36docker compose up -d
37
38# 4. View logs
39docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/audiobookshelf-audiobooks/run | bash

Troubleshooting

  • Database locked error during library scans: Stop the container, remove any .lock files from the config directory, and restart
  • Mobile app unable to connect to server: Verify firewall settings allow port 13378 and check that the server URL includes the correct port number
  • Metadata not loading for audiobooks: Ensure audiobook files are properly organized in subdirectories and filenames contain book information
  • Podcast episodes not downloading automatically: Check internet connectivity from container and verify RSS feed URLs are accessible
  • User authentication failing after updates: Clear browser cache and cookies, then recreate user sessions through the admin panel
  • High CPU usage during library scans: Limit concurrent scan processes in server settings and schedule scans during off-peak hours

Community Notes

Loading...
Loading notes...

Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license

Components

audiobookshelf

Tags

#audiobookshelf#audiobooks#podcasts#media-server#streaming

Category

Media & Entertainment
Ad Space