My-Audiobook-Collection

My-Audiobook-Collection

Docker app from Starf0x's Repository

Overview

Browse and play your audiobook collection, organised as Genre / Author / (Series) / Book. Reads MP3 metadata, fills gaps from the Google Books API and remembers the playback position per user.

Download Statistics

22,795
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
starf0x/my-audiobook-collection:latest
Last Updated2026-10-29
First Seen2026-10-31

Runtime arguments

Web UI
http://[IP]:[PORT:8523]/
Network
bridge
Privileged
false

Template configuration

WebUI PortPorttcp
Target
8523
Default
8523
Value
8523
AppdataPathrw
Target
/data
Default
/mnt/user/appdata/my-audiobook-collection
Value
/mnt/user/appdata/my-audiobook-collection
Import folderPathrw

Where new audiobooks arrive, to file with Import

Target
/import
Admin userVariable

The name the administrator signs in with. Set this together with the password: with both set, the listening page is shut to everybody else until you approve their account. Leave both empty for an install nobody has to sign in to.

Target
ADMIN_USER
Admin passwordVariable

The administrator's password, used with the admin user above. It guards everything that changes the collection, and with an admin user set it is also what shuts the listening page to people you have not approved. This is the only place it is set.

Target
ADMIN_PASSWORD
Google Books API keyVariable

Used to look up missing metadata. This is the only place the key is set.

Target
GOOGLE_API_KEY
Google countryVariable

Which country's Google Books catalogue to answer from. Series data belongs to a country's catalogue, and US has the most of it. Two letters.

Target
GOOGLE_COUNTRY
Default
US
Value
US
Home Assistant tokenVariable

Set this to make the Home Assistant addresses ask for it. Leave empty and they answer anyone on your network, like the listening page does.

Target
HA_TOKEN
Music Assistant tokenVariable

Set this to let Music Assistant read the collection: in MA add an Audiobookshelf server, give it this address, your listener name as the username, and this token as the password. Leave empty and none of that is reachable at all.

Target
MA_TOKEN
Base URLVariable

Only needed behind a reverse proxy: the address other machines reach this app on, such as https://books.example.com. The URLs handed to Home Assistant and to media players are built from it.

Target
BASE_URL
User IDVariable

The user the app writes as. 99 is nobody on Unraid, which owns your shares — leave it, or folders it creates belong to root and you cannot write in them.

Target
PUID
Default
99
Value
99
Group IDVariable

The group the app writes as. 100 is users on Unraid.

Target
PGID
Default
100
Value
100
File mode maskVariable

000 makes the folders and files it creates writable by everyone on the share, which is what Unraid shares normally are — and it is also what makes them world-writable, so 022 is the safer answer wherever your share is not shared with everybody anyway. If the app cannot become PUID:PGID it now stops rather than creating root-owned folders; ALLOW_ROOT=1 starts it anyway.

Target
UMASK
Default
000
Value
000
AudiobooksPathrw
Target
/audiobooks
Default
/mnt/user/Audiobooks
Value
/mnt/user/Audiobooks