Synology Installation
Run OmniLux on Synology NAS using Docker.
Prerequisites
- Synology DSM 7.2+
- Container Manager package installed (DSM 7.2+) or Docker package (DSM 7.0–7.1)
- SSH access enabled (recommended for Docker Compose)
- Shared folders for media and app data
Setup via SSH + Docker Compose
Docker Compose gives you the most control and is the recommended approach.
1. Enable SSH
Control Panel > Terminal & SNMP > Enable SSH service
2. Create directories
bash
ssh your-synology
mkdir -p /volume1/docker/omnilux3. Create Docker Compose file
Create /volume1/docker/omnilux/docker-compose.yml:
yaml
services:
omnilux:
image: ghcr.io/omnilux-tv/omnilux:latest
container_name: omnilux
restart: unless-stopped
ports:
- "4000:4000"
- "1900:1900/udp"
environment:
NODE_ENV: production
PORT: 4000
OMNILUX_LIBRARY_ROOT: /data
OMNILUX_DB_PATH: /app/data/omnilux.db
OMNILUX_DOWNLOAD_PATH: /app/data/downloads
volumes:
- /volume1/docker/omnilux/data:/app/data
- /volume1/media:/data4. Start
bash
cd /volume1/docker/omnilux
sudo docker compose up -dShared folder permissions
Ensure the container user (UID 1000) can read your media and write to the app data directory:
bash
sudo chown -R 1000:1000 /volume1/docker/omnilux/dataFor media folders, grant read access:
bash
sudo chmod -R o+r /volume1/mediaAlternatively, use Synology's shared folder permissions in DSM to grant access to the docker group.
Limitations
- No GPU transcoding on most Synology models. Consumer Synology NAS devices don't have discrete GPUs. Some Intel-based models support Quick Sync via
/dev/dripassthrough, but support varies - Performance — ARM-based Synology models (DS220j, etc.) may be too slow for transcoding. x86-based models (DS920+, DS1621+) are recommended
Updating
bash
cd /volume1/docker/omnilux
sudo docker compose pull
sudo docker compose up -dAccess
Navigate to http://your-synology-ip:4000.