Skip to content

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:

docker-compose.yml
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:

Terminal
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:

Terminal
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:

Terminal
# 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.

Try the demo No sign-up. Opens in your browser.