# Audiobookshelf

Server for audiobooks and podcasts with a web player and mobile apps.

- Replaces: [Audible](https://openlogs.fyi/alternatives/audible)
- Summary: Paid audiobook services, such as Audible.
- Stack: JavaScript (language)
- Deployment: docker_compose
- License: GPL-3.0 (osi) [source](https://github.com/advplyr/audiobookshelf/blob/743d9152208507a1dbf7c95c94290071338f44bd/LICENSE)
- Business model: unknown. The README at the pinned commit does not state a business model, so it stays unknown. ([source](https://github.com/advplyr/audiobookshelf/blob/743d9152208507a1dbf7c95c94290071338f44bd/readme.md), read 2026-10-22)
- Difficulty: easy. 1 service, 4 volume mounts, no env values to set, no elevated host access. Heuristic score 2 of 11: easy.
- Requirements: not stated
- Repository: [advplyr/audiobookshelf](https://github.com/advplyr/audiobookshelf)

## Install

1. Docker with the Compose plugin ([source](https://github.com/advplyr/audiobookshelf/blob/743d9152208507a1dbf7c95c94290071338f44bd/docker-compose.yml))

   ```text
   A host with Docker and the Docker Compose plugin. This entry runs from a compose file.
   ```

2. Save the compose file as docker-compose.yml ([source](https://github.com/advplyr/audiobookshelf/blob/743d9152208507a1dbf7c95c94290071338f44bd/docker-compose.yml))

   ```yaml
   ### EXAMPLE DOCKER COMPOSE ###
   services:
     audiobookshelf:
       image: ghcr.io/advplyr/audiobookshelf:latest
       # ABS runs on port 13378 by default. If you want to change
       # the port, only change the external port, not the internal port
       ports:
         - 13378:80
       volumes:
         # These volumes are needed to keep your library persistent
         # and allow media to be accessed by the ABS server.
         # The path to the left of the colon is the path on your computer,
         # and the path to the right of the colon is where the data is
         # available to ABS in Docker.
         # You can change these media directories or add as many as you want
         - ./audiobooks:/audiobooks
         - ./podcasts:/podcasts
         # The metadata directory can be stored anywhere on your computer
         - ./metadata:/metadata
         # The config directory needs to be on the same physical machine
         # you are running ABS on
         - ./config:/config
       restart: unless-stopped
       # You can use the following user directive to run the ABS
       # docker container as a specific user. You will need to change
       # the UID and GID to the correct values for your user.
       # user: 1000:1000
   ```

3. Start it ([source](https://github.com/advplyr/audiobookshelf/blob/743d9152208507a1dbf7c95c94290071338f44bd/docker-compose.yml))

   ```bash
   docker compose up -d
   ```

4. Open the app ([source](https://github.com/advplyr/audiobookshelf/blob/743d9152208507a1dbf7c95c94290071338f44bd/docker-compose.yml))

   ```text
   Open http://localhost:13378. The compose file publishes host port 13378 for the audiobookshelf service.
   ```

Compose file check: config_ok on 2026-10-22.

## Gotchas and maintenance

### Gotchas

- Some images use the latest tag or no tag: Images without a pinned version: audiobookshelf: ghcr.io/advplyr/audiobookshelf:latest. A later pull can get a different version. ([source](https://github.com/advplyr/audiobookshelf/blob/743d9152208507a1dbf7c95c94290071338f44bd/docker-compose.yml), checked 2026-10-22)
- The compose file publishes host ports: Host ports: 13378 (audiobookshelf). A port without a host address listens on all host network interfaces. ([source](https://github.com/advplyr/audiobookshelf/blob/743d9152208507a1dbf7c95c94290071338f44bd/docker-compose.yml), checked 2026-10-22)
- The compose file mounts host folders: Host paths mounted into containers: ./audiobooks at /audiobooks (audiobookshelf), ./podcasts at /podcasts (audiobookshelf), ./metadata at /metadata (audiobookshelf), ./config at /config (audiobookshelf). ([source](https://github.com/advplyr/audiobookshelf/blob/743d9152208507a1dbf7c95c94290071338f44bd/docker-compose.yml), checked 2026-10-22)

### Signals

Computed from a GitHub snapshot taken 2026-10-22.

- Open issues and pull requests: 1241
- Stars: 14739, forks: 1228
- Last push: 2026-10-05 (16 days ago)
- Latest release: v2.37.1 on 2026-09-29 (22 days ago)

## Sources

- [Repository: https://github.com/advplyr/audiobookshelf](https://github.com/advplyr/audiobookshelf)
- [License: https://github.com/advplyr/audiobookshelf/blob/743d9152208507a1dbf7c95c94290071338f44bd/LICENSE](https://github.com/advplyr/audiobookshelf/blob/743d9152208507a1dbf7c95c94290071338f44bd/LICENSE)
- [Business model: https://github.com/advplyr/audiobookshelf/blob/743d9152208507a1dbf7c95c94290071338f44bd/readme.md](https://github.com/advplyr/audiobookshelf/blob/743d9152208507a1dbf7c95c94290071338f44bd/readme.md)
- [Compose file: https://github.com/advplyr/audiobookshelf/blob/743d9152208507a1dbf7c95c94290071338f44bd/docker-compose.yml](https://github.com/advplyr/audiobookshelf/blob/743d9152208507a1dbf7c95c94290071338f44bd/docker-compose.yml)

---
Canonical: https://openlogs.fyi/tools/audiobookshelf  
Last updated: 2026-10-22
