Installation
AudioSilo Server is the only thing you install. Every option below includes the web player, so the apps work out of the box. Docker is the recommended path for always-on, NAS, VPS and multi-user setups.
Requirements
- Docker (to run the published image), or a single downloaded binary.
- A folder of audiobooks (m4b, or mp3 parts - the scanner figures out the shape).
- ffmpeg/ffprobe is optional but recommended (durations and chapters), so the Docker image includes it; the native binaries fetch it automatically on first run if it isn't present.
Option 1: Docker (recommended)
Create a docker-compose.yml, mounting your audiobooks read-only and persisting /data:
services:
audiosilo:
image: ghcr.io/kodestar/audiosilo-server:latest
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./data:/data # db, config, certs (first run prints admin creds once)
- /srv/audiobooks:/library:ro
environment:
PUID: "1000" # owner of /data (Unraid: 99)
PGID: "1000" # group of /data (Unraid: 100)
AUDIOSILO_WEB_DIR: /app/web
# AUDIOSILO_PUBLIC_URL: "https://books.example.com" # used in QR/invite links Then start it and read the logs to grab your one-time admin credentials:
docker compose up -d
docker compose logs # first run prints the admin password + auth code ONCE
Set PUID/PGID to the user that should own /data (Unraid:
99/100; generic Linux: your id -u/id -g). The
entrypoint chowns the data dir and runs the server as that user, so it works regardless of how the
mounted volume is owned.
Updating the server or the bundled player is always a new image:
docker compose pull && docker compose up -d Option 2: Unraid
On Unraid, install from Community Applications: search the Apps tab for
AudioSilo. The app is the
LinuxServer.io image,
lscr.io/linuxserver/audiosilo, with the web player and ffmpeg inside, rebuilt for every
server release.
Point Appdata (/config) at a cache or pool path such as
/mnt/cache/appdata/audiosilo, and Audiobooks (/audiobooks) at
your books share. Leave PUID/PGID at 99/100. On
first start the admin password and auth code are printed once in the container log (in the Docker
tab, click the AudioSilo icon, then Logs). In the admin console, add /audiobooks as your
library: the path inside the container, not your /mnt/user share. The
Unraid install guide covers the template
fields, reverse proxies and moving from the image above.
Option 3: Native binary
Download the archive for your OS/arch from the
server releases page
(.tar.gz, .zip, or a .deb/.rpm that installs a systemd
service), extract it, and run:
# Choose the admin password in your browser instead of reading it from the log:
./audiosilo --setup --data ./data
# Or run headless - it auto-creates an admin and prints the password + auth code once:
AUDIOSILO_TLS_MODE=off ./audiosilo --data ./data
The --data directory holds the config, database and certs. The web player is embedded
in the binary, so /web just works.
After it's running
By default the server listens on :8080 with a self-signed certificate. Open
https://localhost:8080/admin to reach the admin console, or continue with the
first-run guide to add a library and pair a device. To put it on the
internet safely, see reverse proxy & TLS.