All apps · 0 apps
Silo
OfficialDocker app from SiloServerOrg's Repository
Overview
Readme
View on GitHubSilo — Unraid Community Applications templates
Official Unraid Community Applications templates for Silo, a self-hosted media server for films and series.
Templates
| Template | Image | Purpose |
|---|---|---|
templates/silo.xml |
ghcr.io/silo-server/silo-server |
The media server |
templates/silo-postgres.xml |
pgvector/pgvector:pg18 |
PostgreSQL 18 + pgvector |
Unraid's Community Applications installs one container per template — there is no Compose
support. Silo's PostgreSQL dependency ships as a companion template because it requires
PostgreSQL 18 with the pgvector extension. Redis does not require a Silo-specific image;
install any Redis 6.2-or-newer container from Community Applications, or use an existing
Redis service.
Install order
- Silo-PostgreSQL — start it, confirm it is healthy
- Redis 6.2+ — install a generic Redis container or use an existing Redis service
- Silo — set
SECRET_KEY,DATABASE_URLandREDIS_URL, then start
Redis is required. Silo will not start until it can reach both PostgreSQL and Redis. A dedicated Redis instance is recommended, particularly if you run more than one Silo server.
If you enable Unraid autostart, keep Redis and Silo-PostgreSQL ahead of Silo in Docker startup order and configure a short wait after PostgreSQL. Silo exits when either dependency is still unavailable; start it again once both services are ready.
Choose a unique POSTGRES_PASSWORD when installing Silo-PostgreSQL; no password is supplied
by the template. Use that same password in Silo's DATABASE_URL. If the password contains
reserved URL characters, percent-encode them in the connection string. DATABASE_URL and
REDIS_URL show as visible placeholders/examples in the Unraid form, not masked fields —
replace them with your own values before starting the container. Because DATABASE_URL is
unmasked, the database password appears in plaintext in the Unraid template/configuration.
Networking note
Containers on Unraid's default bridge network cannot resolve each other by name.
The DATABASE_URL example and REDIS_URL default contain a literal YOUR-UNRAID-IP
placeholder that must be replaced with the server's LAN IP address. Substituting the
Compose-style hostnames (postgres, redis) will not work.
Users who prefer name resolution can create a custom Docker network and attach all three containers to it.
Media path
The template maps /mnt/user/data to the identical /mnt/user/data path inside Silo and
mounts it read-only. Keep films and series beneath that root, then add the relevant
subdirectories as libraries in Silo.
SECRET_KEY
Silo refuses to start without SECRET_KEY (see internal/config/bootstrap.go). Generate one
from an Unraid terminal:
openssl rand -base64 48
Back it up separately from database dumps — losing it makes encrypted secrets unrecoverable.
Persistent data
The Silo container uses one appdata mapping: /mnt/user/appdata/silo on the host to
/var/lib/silo in the container. It covers installed plugins, compatibility assets and
other local Silo state. Back it up together with the separate Silo-PostgreSQL data directory
and your SECRET_KEY.
Hardware transcoding
Hardware acceleration is optional; CPU-only hosts install without any GPU settings.
For Intel or AMD, if /dev/dri exists on the Unraid host, enable Advanced View and add
--device=/dev/dri:/dev/dri to Extra Parameters. Do not add an empty Device entry:
DockerMan renders that as the invalid argument --device=''. Device exposure has been
smoke-tested on an AMD Hawk Point iGPU; a configured media library is still required to
exercise an actual transcode.
For NVIDIA NVENC/NVDEC:
- Install the Nvidia-Driver plugin from Community Applications and reboot if prompted.
- Open the plugin settings and copy the desired GPU UUID.
- Edit the Silo container with Advanced View enabled and add
--runtime=nvidiato Extra Parameters. - Enter the UUID in NVIDIA GPU UUID (or use
all). LeaveNVIDIA_DRIVER_CAPABILITIESset tocompute,video,utility.
Silo's default auto hardware-acceleration mode detects the exposed NVIDIA device and selects
NVENC. The template does not force the NVIDIA runtime because doing so would prevent Silo from
starting on hosts without the plugin/runtime installed.
Manual template installation
Copy the XML onto the Unraid flash drive to make the templates available from the Docker tab:
cp templates/*.xml /boot/config/plugins/dockerMan/templates-user/
License
The template XML and repository documentation are MIT licensed. The Silo name, logo, icons,
and other brand assets are © 2026 Silo Media L.L.C. and are not included in the MIT license;
see NOTICE.txt and TRADEMARK.md. Silo server source code is AGPL-3.0-or-later.
Install Silo on Unraid in a few clicks.
Find Silo in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Requirements
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/silo-server/silo-server:latestRuntime arguments
- Web UI
http://[IP]:[PORT:8080]- Network
bridge- Shell
bash- Privileged
- false
Template configuration
Port for the Silo web interface and API.
- Target
- 8080
- Default
- 8090
- Value
- 8090
Port for the optional Jellyfin/Emby-compatible API, used by clients such as Infuse, VidHub and Findroid. Disabled until an administrator enables it in admin settings. Change this if you already run Jellyfin on 8096.
- Target
- 8096
- Default
- 8096
- Value
- 8096
Port for the optional Audiobookshelf-compatible API. Change this if you already run Audiobookshelf on 13378.
- Target
- 13378
- Default
- 13378
- Value
- 13378
Root share containing your film and series libraries. The host and container paths are identical so paths remain consistent across your media stack. Mounted read-only - Silo never writes to your media.
- Target
- /mnt/user/data
- Default
- /mnt/user/data
- Value
- /mnt/user/data
All persistent Silo application data, including installed plugins and compatibility assets. Back this directory up together with PostgreSQL and SECRET_KEY.
- Target
- /var/lib/silo
- Default
- /mnt/user/appdata/silo
- Value
- /mnt/user/appdata/silo
Temporary transcode files. Defaults to /tmp, which is RAM on Unraid - this avoids unnecessary SSD wear. Point it at a cache-backed path instead if you have limited RAM.
- Target
- /tmp/silo-transcode
- Default
- /tmp/silo-transcode
- Value
- /tmp/silo-transcode
Read-only view of host memory, used to auto-tune database settings. Leave as-is.
- Target
- /host/proc/meminfo
- Default
- /proc/meminfo
- Value
- /proc/meminfo
Deployment mode. Leave as 'integrated' for a normal single-server install.
- Default
- integrated
- Value
- integrated
REQUIRED. Master key for at-rest credential encryption - the server will not start without it. Generate one by opening an Unraid terminal and running: openssl rand -base64 48 -- Back this up separately from your database. If you lose it, encrypted secrets cannot be recovered.
REQUIRED. Connection string for Silo-PostgreSQL, for example: postgres://silo:YOUR-PASSWORD@YOUR-UNRAID-IP:5432/silo?sslmode=disable. The password must match POSTGRES_PASSWORD. Replace YOUR-UNRAID-IP with your Unraid server's LAN IP address and percent-encode reserved characters in the password.
REQUIRED. Connection string for Redis 6.2 or newer. Install any generic Redis container from Community Applications or use an existing Redis service, then replace YOUR-UNRAID-IP with its reachable address.
- Default
- redis://YOUR-UNRAID-IP:6379
- Value
- redis://YOUR-UNRAID-IP:6379
Where plugins are cached inside the container. Leave as-is.
- Default
- /var/lib/silo/plugins
- Value
- /var/lib/silo/plugins
Automatically tune database connection settings based on available host memory.
- Default
- auto
- Value
- auto
Optional NVIDIA hardware transcoding. Install the Unraid Nvidia-Driver plugin, copy a GPU UUID from its settings into this field (or use 'all'), and add --runtime=nvidia in Advanced View's Extra Parameters. Leave blank when NVIDIA is not used.
- Target
- NVIDIA_VISIBLE_DEVICES
NVIDIA runtime capabilities required for CUDA, NVENC/NVDEC and GPU diagnostics. Leave as-is when using NVIDIA; harmless when the NVIDIA GPU UUID is blank.
- Target
- NVIDIA_DRIVER_CAPABILITIES
- Default
- compute,video,utility
- Value
- compute,video,utility