Install on a Synology NAS (DSM)
This page installs Arclight on a Synology NAS using DSM’s Container Manager and its Project feature, or SSH if you prefer the command line. It is complete on its own and written for someone new to Docker. DSM menu names change between versions, so steps are described by purpose and the names are given as typical labels, not guarantees. The compose files and .env values are exact.
What you need
Section titled “What you need”- DSM 7.2 or newer with the Container Manager package (older DSM calls it Docker and has no Projects; use SSH there).
- A volume with free space, and an account that can use SSH (an administrator).
- For a VPN layout: credentials from your VPN provider (Proton steps, other providers).
Why one data folder
Section titled “Why one data folder”Arclight (and qBittorrent, if you add it) mounts one folder, DATA_ROOT, at /data: downloads in /data/downloads, library in /data/media/tv and /data/media/movies. A finished download is imported by hard link (instant, no extra space, seeding continues). Linux cannot hard-link between two different mounts, even on one disk, so separate mounts for downloads and library force a full copy on every import. Keep all three folders inside one shared folder on one volume. More in folders-and-hardlinks.md.
1. Choose a layout
Section titled “1. Choose a layout”Use the chooser in install-docker.md. “VPN + built-in engine” is the recommended stack; “No VPN, built-in engine” is the simplest.
2. Create the folders
Section titled “2. Create the folders”- In Control Panel > Shared Folder (or File Station) create one shared folder for your data, for example
data. Inside it createdownloads,media/tvandmedia/movies. - Create a shared folder for container settings, for example
docker, with a subfolderappdata. - Create or pick a user that should own the files. Give it Read/Write on both shared folders (Control Panel > Shared Folder > Edit > Permissions, or the equivalent in your version).
The Linux paths are normally /volume1/data and /volume1/docker/appdata, but your volume may be named differently. Confirm over SSH with ls /.
3. Find PUID and PGID
Section titled “3. Find PUID and PGID”- Enable SSH in Control Panel > Terminal & SNMP (the label may vary).
- Connect:
ssh <admin-user>@<nas-ip>. - Run
id <the-owner-user>. Example:uid=1026(media) gid=100(users). Theuid=number isPUID, thegid=number isPGID.
4. Check the TUN device (VPN layouts only)
Section titled “4. Check the TUN device (VPN layouts only)”Gluetun needs /dev/net/tun. Run ls -l /dev/net/tun over SSH. If it is missing, some Synology models only provide it after the tun kernel module is loaded, usually by a boot-time task running as root. Check your model’s notes. This is a host setting, not an Arclight setting. No-VPN layouts do not need it.
5. Put the files on the NAS
Section titled “5. Put the files on the NAS”-
Download the release files (compose file and
.env.example) into/volume1/docker/arclight-stack. For a VPN layout copy the whole repository instead, because the helper script lives inscripts/. -
In the
docker/folder (or beside the compose file) copy.env.exampleto.envand edit:PUID=1026PGID=100TZ=Etc/UTCCONFIG_ROOT=/volume1/docker/appdataDATA_ROOT=/volume1/dataPROTON_WIREGUARD_KEY=<your-key>VPN_COUNTRIES=NetherlandsLAN_SUBNET=192.168.1.0/24GLUETUN_API_KEY=Variable meanings: install-docker.md. Set
LAN_SUBNETto your own network, andTZto your time zone. -
VPN layouts: from the repository root run
sudo sh scripts/gluetun-auth.sh. It fills inGLUETUN_API_KEYand writes/volume1/docker/appdata/gluetun/auth/config.toml. See step 5.
6. Start the stack
Section titled “6. Start the stack”With Container Manager Projects (typical labels):
- Open Container Manager and go to Project, then Create.
- Give the project a name, set the path to the folder that holds the compose file and
.env, and choose to use the existing compose file. - Continue through the wizard and start the project.
Or over SSH:
cd /volume1/docker/arclight-stack/dockersudo docker compose -f docker-compose.release.yml up -dGluetun needs up to a minute to connect; the other containers wait for it. In Container Manager, the Container view shows each container’s status and logs. If one keeps restarting, see container restarting.
7. Open Arclight
Section titled “7. Open Arclight”- Browse to
http://<nas-ip>:7878. In a VPN layout the ports are published by thegluetuncontainer, but the address is the NAS. - Complete the setup wizard. Root folders are
/data/media/tvand/data/media/movies. - Optional: qBittorrent. The built-in engine is already set up; only if you also want qBittorrent, start the stack with the
qbittorrentprofile (or add its service block), openhttp://<nas-ip>:8080(in VPN layouts uncomment the8080port line ongluetunfirst), and set Tools > Options > Downloads > Default Save Path to/data/downloads. In Arclight add the client with hostlocalhost(VPN layout) orqbittorrent(no-VPN), port8080.
DSM’s own services may already use port 7878 (or 8080 with qBittorrent) in rare cases. If a port is taken, change the left side of the mapping, for example "7979:7878".
Common problems
Section titled “Common problems”| Symptom | Likely cause | What to do |
|---|---|---|
| Health message about the container user | PUID/PGID do not own the folders |
Re-check with id; fix the numbers or the share permissions; restart containers (docker-puid-pgid-mismatch) |
| “Permission denied” on import | The user lacks write access to the shared folder | permission denied |
| Gluetun restarts in a loop | Missing TUN device or wrong key | Step 4 above; VPN won’t connect |
| Imports are slow and use double space | Downloads and library on different mounts | folders-and-hardlinks.md |
Moving from an older install with separate /tv, /movies and /downloads mounts: migration steps.