First run
1. Grab your admin credentials
On its very first start the server creates an admin account and prints the password plus an auth
code exactly once - save them. (Start it with --setup and you choose the
password in the browser instead.)
========================================================
AudioSilo first-run setup - store these now, shown once
========================================================
Admin username : admin
Admin password : <generated password>
Auth code : <generated code>
Config file : /data/config.yaml
With Docker, run docker compose logs to see them. Sign in to the admin console at
/admin with the username admin and that password.
On a new server, that first sign-in opens Set up your server: eight short steps covering the books folder, how your books are named, community metadata, the addresses people use to reach the server, coming from Audiobookshelf, backups and updates, connecting a phone, and an optional Bridge. Every step can be skipped, and Finish later takes you straight to the console. Everything you choose is an ordinary setting you can change afterwards.
2. Add a library
Point a library at a folder of audiobooks - the one you mounted at /library in Docker,
for example. Set up your server does this in its first three steps: it checks the
folder, then adds the library and starts its first scan. You can also add one later under
Library > Libraries in the admin console, or via the API:
# Get a session token by logging in as admin:
TOKEN=... # from POST /api/v1/auth/login
# Add a library, then browse it immediately:
curl -X POST https://your-server/api/v1/admin/libraries \
-H "Authorization: Bearer $TOKEN" \
-d '{"name":"Main","root":"/library"}' There's nothing else to configure: the scanner auto-detects each folder's shape (single-file m4b, folder-per-book, or multi-file mp3 parts) and indexes titles, authors, chapters and cover art. A folder it misclassifies can be overridden per-folder from the admin console.
3. Pair a device
The connect flow turns an auth code into a durable, device-scoped session:
- In the admin console, Invite someone creates the account, grants access and shows an invite link and QR code (the code rides in the URL fragment, so it never hits the server logs).
- The connect screen shows a QR code with Open in app / Open web player. Scanning opens the native app (when it claims your domain) or the web player.
- The client exchanges a single-use pairing token for a device-named session token. Username and password login is also supported.
4. Open the web player
The Docker image and native binaries serve the installable web player at /web. Open it
in a browser and “Add to Home Screen” for an app-like experience, or use the iPhone, iPad and Android
app (see the download page). Either way, your progress, bookmarks and notes
sync across every device you connect.
Tip: set public_url to your real external URL before
minting invites, so the QR and copy-invite links point somewhere your devices can actually reach.