Audiobookshelf is the audiobook and podcast listening service for Smithflix. It exposes libraries for audiobooks, podcasts, and ebooks from a single app surface.
This page documents the audiobookshelf service. It does not replace the acquisition pages for Readarr Audio or Readarr.
- Container:
audiobookshelf
- Image:
ghcr.io/advplyr/audiobookshelf:latest
- Stack: Smithflix Stack
- Compose path:
/opt/stacks/smithflix/docker-compose.yml
- Docker network:
smithflix_default
- Restart policy:
unless-stopped
- No container healthcheck is configured as of
2026-04-07
- Public hostname:
audiobookshelf.better-than.tv
¶ Config and Data Paths
- Config root:
/srv/docker/audiobookshelf/config
- Main app database:
/srv/docker/audiobookshelf/config/absdatabase.sqlite
- Metadata root:
/srv/docker/audiobookshelf/metadata
- Library mounts:
/media/audiobooks -> /audiobooks
/media/podcasts -> /podcasts
/media/ebooks -> /ebooks
- LAN URL:
http://192.168.0.113:13378
- Public URL:
https://audiobookshelf.better-than.tv
- Host port mapping:
13378 -> 80
- The live NPM host includes websocket upgrade headers and a custom Content-Security-Policy that allows framing from
https://manage.better-than.tv
¶ Authentication and Secret Locations
- App auth and library configuration are stored inside
/srv/docker/audiobookshelf/config
- Metadata cache and derived assets live under
/srv/docker/audiobookshelf/metadata
- Do not copy user credentials or tokens into wiki content
- Keep audiobook, podcast, and ebook mounts aligned with the actual media layout under
/media
- Validate local access on
:13378 before debugging the proxy
- Startup logs showed watchers being initialized for
Audiobooks and Podcasts
- Startup logs also showed that Audiobookshelf automatic backups are currently disabled
¶ Monitoring and Logs
- Docker logging driver is
json-file
- No container healthcheck exists, so a running container alone is not sufficient proof that library watchers are healthy
- Recent logs showed normal startup and listener bind on port
80
- App state is primarily in the SQLite DB and metadata tree rather than a separate dedicated on-disk log directory
¶ Backup and Restore
/srv/docker/audiobookshelf is in the documented Duplicati scope because it lives under /srv/docker
- Media libraries under
/media are operational library data, not assumed full backups
- After restore, validate library visibility, metadata rendering, and a representative playback path
¶ Failure Modes and Recovery
- If library mounts drift, the app can stay up while large parts of the catalog disappear
- Disabling or misconfiguring metadata storage can degrade browsing and cover-art behavior without obvious container failure
- Proxy or CSP regressions can break embedding or portal integration while the LAN endpoint remains healthy