What is Audiobookshelf? Audiobookshelf is a free, open-source, self-hosted media server built specifically for streaming and organizing audio archives and digital literature. It allows you to manage massive audio file collections, stream them directly to your mobile devices, and perfectly sync your playback progress across your entire home network.
If you have built an automated Plex server to manage your high-resolution video assets, you likely thought you could use it to manage your audio collections, too.
Unfortunately, Plex is notoriously terrible at handling long-form audio files. It treats them like short music tracks. If you pause a 20-hour audio archive halfway through, Plex will often forget your place and force you to restart the track from the beginning.
If you are a serious data hoarder with a massive digital library, you need a dedicated tool. That tool is Audiobookshelf. This guide walks you through installation, first-run configuration, and automation in a logical order so you can move from a blank server to a working audio library without unnecessary backtracking.
Table of Contents
What Audiobookshelf Does Best
Audiobookshelf sits in a specific niche: it is purpose-built for audio content rather than adapted from a general media server. It handles per-user progress tracking, cover art matching, and chapter navigation in a single interface. The GitHub repository is actively maintained, and the mobile apps support offline listening.
Core Features for Multi-User Progress, Metadata, and Sync
- Multi-user support with per-user permissions and individual progress tracking.
- Progress sync across web, Android, and iOS clients.
- Metadata matching from public domain providers including Google Books and Open Library.
- Built-in tools to merge split MP3 files into a clean M4B directly from the web interface.
- RSS feed management for automated digital publication subscriptions.
Progress is stored per user, not per device. That means a family or small group can each maintain their own listening history inside a single server instance.
How to Install Audiobookshelf
The project supports several installation paths. Docker is the most straightforward for most home lab users because it isolates the application, simplifies updates, and makes volume mapping explicit.
Docker Installation for Most Users
The official image is published on Docker Hub as advplyr/audiobookshelf. A minimal Docker Compose file looks like this:
yamlCopy
version: "3.8"
services:
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
container_name: audiobookshelf
ports:
- 13378:80
volumes:
- /your/audiofiles:/audiofiles
- /your/audiofeeds:/audiofeeds
- /your/abs/config:/config
- /your/abs/metadata:/metadata
environment:
- TZ=America/Chicago
restart: unless-stoppedReplace the paths on the left side of each volume with real paths on your host system (like your home NAS). The paths on the right side are what Audiobookshelf sees inside the container.
Port Mapping, Volumes, and First Launch Checks
Audiobookshelf defaults to port 13378 in Docker. After starting the container, open http://your-server-ip:13378 in a browser.
Before you do anything else, verify your volume mounts worked correctly:
- Navigate to your audio folder inside the container.
- Create a test folder or drop a file there.
- Confirm the same folder appears in your host file system.
If the file does not appear on the host, your volume mapping is broken. Fix it now. Data written inside a container without a proper mount will disappear when the container is updated.
First-Run Configuration and Library Creation
When you first open the web UI, Audiobookshelf walks you through a short setup flow. Taking a few extra minutes on library path setup prevents most of the scan errors that come up later.
Adding Audio and Podcast Libraries
Navigate to Settings > Libraries > Add Library to create your first library. Audiobookshelf supports two library types: Book and Podcast. You cannot mix them in a single library.
For each library, set the folder path to the internal container path (if using Docker), not the path on your host machine. A common mistake is entering the host path here, which causes Audiobookshelf to report that the folder does not exist.
You can assign multiple folder paths to one library, which is useful if your collection spans multiple drives or mount points on your Unraid or TrueNAS server.
After saving, click Scan to index your existing files.
Automation, Maintenance, and Common Problems
A working Audiobookshelf instance needs more than a one-time setup. Keeping libraries clean, metadata accurate, and configuration backed up requires a small amount of ongoing attention.
Using Audiobookshelf with Archival Data Organizers
Audiobookshelf exposes a full REST API, which makes it usable as a data synchronization hub in larger home lab stacks. For example, you can use automation tools to watch for new files added to your directories and then trigger a library scan via the API without logging into the web UI.
If you use Readarr to organize your collection, point its output folder to the same path that Audiobookshelf monitors. New items will be picked up automatically by the file watcher.
For those archiving public domain titles from sources like LibriVox or Project Gutenberg, a simple folder-based intake process works well: drop new files into the library folder, and Audiobookshelf scans them on the next watcher cycle.
(Note: If you are downloading archival data from Usenet providers, ensure your newsreader is configured to extract the files into the correct directory).
Frequently Asked Questions
What are the system requirements for running a self-hosted audio server?
Audiobookshelf is incredibly lightweight. A single-board computer like a Raspberry Pi NAS with 2GB of RAM can run it comfortably for a small library. For larger collections or multiple simultaneous users, a system with 4GB or more RAM gives better scan performance.
Which folders and file naming conventions ensure libraries scan correctly?
Use the format Author Name/Title/Title.m4b for standard audio files. Consistent naming that matches actual public database titles gives the metadata matcher the best chance of finding a correct result without manual correction.
How can I configure remote access securely?
If you want to access your server away from home, set up a reverse proxy such as Nginx Proxy Manager in front of Audiobookshelf. Point a domain to your server, enable SSL through Let’s Encrypt, and configure the proxy to pass WebSocket traffic. Never expose port 13378 directly to the public internet.
What is the best way to handle multi-user library access?
Create individual user accounts for each person from Settings > Users. You can restrict each user to specific libraries and set permissions for downloading, uploading, or editing metadata. Each user maintains their own progress history independently.
How do I back up and restore the database to avoid data loss?
Back up the /config and /metadata volumes on a regular schedule, separate from your actual audio file backups. To restore, stop the container, replace the config and metadata directories with your backup copies, and restart.