Install on a Synology NAS
On a Synology NAS, run AudioSilo as a Container Manager project. It's the same image as the Docker install, ghcr.io/kodestar/audiosilo-server. Most install problems on a NAS are folder permissions, so this page sets those up first.
These steps are written for Container Manager on DSM 7.2 and haven't been checked on a NAS yet, so a label can differ on yours. AudioSilo needs Docker 20.10.10 or newer. The older Docker package on DSM 7.1 may be too old (see Troubleshooting).
1. Create the folders
- Install Container Manager from Package Center. It creates a shared folder called
docker. - In File Station, open
dockerand create a folderaudiosilo, then a folderdatainside it.
The data folder is now /volume1/docker/audiosilo/data. It holds the database, settings and backups. Your audiobooks stay where they are, for example in a shared folder /volume1/audiobooks.
2. Pick the user the server runs as
The server runs as the user and group in PUID and PGID. Use your own DSM user's IDs:
- The first user you create on DSM is usually 1026, and its group (
users) is 100. - To check, sign in over SSH and run
id yourname. It printsuid=andgid=.
No SSH? Start with 1026 and 100. If a folder then refuses that user, the container's log names the folder's owner and the values to set (see Permission denied).
3. Give that user access
The user needs read and write access to the data folder and read access to your audiobooks.
- Open Control Panel > Shared Folder.
- Select
dockerand choose Edit > Permissions. - Pick Local users and tick Read/Write for your user. Press Save.
- Do the same for your audiobooks shared folder, with Read only (or Read/Write).
Tick your user, not only a group it belongs to. The container runs with your user's ID and one group, so access through the administrators group doesn't reach it.
For a single folder inside a share, use File Station: right-click the folder, choose Properties > Permission, and add your user there.
4. Create the project
-
In Container Manager, open Project and press Create.
-
Name it
audiosilo. For Path, choosedocker/audiosilo. -
For Source, choose Create docker-compose.yml and paste:
services:audiosilo:image: ghcr.io/kodestar/audiosilo-server:latestrestart: unless-stoppedports:- "8080:8080"volumes:- /volume1/docker/audiosilo/data:/data- /volume1/audiobooks:/library:roenvironment:PUID: "1026" # your DSM user's uidPGID: "100" # its gid -
Change
/volume1/audiobooksto your books folder, and1026/100to your IDs. -
Press Next through the remaining pages, leaving the web portal off, then Done. The project starts.
If another app already uses port 8080, change the left-hand number, for example "8090:8080".
5. Save your password
On the very first start, the log shows the admin password and an auth code once. In Container Manager, open Container, select the AudioSilo container and choose Details, then the Log tab:
========================================================
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
Save both now. Set up your server says what each is for. If you lose them, see If you lose the password.
If the log starts with audiosilo: WARNING: the server can't write to /data or can't read /library, fix the folder it names first. See Permission denied.
6. Open it and add your books
- Browse to
http://your-nas:8080/adminand sign in asadminwith the printed password. - Set up your server opens. Choose your own username and password, or keep the printed ones.
- For the books folder, type
/library(the path inside the container, not/volume1/...) and press Check folder. - Follow the remaining steps, or skip any of them.
Set up your server walks through every step. Then get the apps and connect a phone or browser.
Update
In Container Manager, stop the audiosilo project, get the newest ghcr.io/kodestar/audiosilo-server:latest image, and start the project again. Over SSH, cd /volume1/docker/audiosilo and run sudo docker compose pull && sudo docker compose up -d. Your books are never changed. When an update changes the database, the server first saves a backup of it.
Good to know
- Backups go to
backupsinside the data folder, so they need nothing more. To keep them on another volume, see Backups. - No File Station access to fix it? Over SSH,
sudo chown -R 1026:100 /volume1/docker/audiosilo/datagives the data folder to user 1026. Use your own IDs and path. Give your user read access to the books in Shared Folder (step 3). - HTTPS and access from outside work as on any Docker host. See Reach your server from outside your home.