title | description | published | date | tags | editor | dateCreated |
---|---|---|---|---|---|---|
Installing Docker on a Synology ARM NAS |
true |
2022-05-18 15:47:17 UTC |
docker, synology |
markdown |
2021-07-12 20:22:05 UTC |
Synology only offer a Docker package on their x64
based NAS. Using this method to install Docker on an aarch64
NAS is totally unsupported/untested and totally at your own risk. It is entirely possible it will destroy your NAS.
Again, this method to install Docker on an
aarch64
NAS is totally unsupported/untested and totally at your own risk. It is entirely possible it will destroy your NAS. {.is-danger}
The instructions below will:
- Place the Docker binaries in
/usr/local/bin/
- Create a Docker config file
/usr/local/etc/docker/docker.json
- Configure Docker to save its data to
/volume1/docker/var
- Create a script to start Docker on boot at
/usr/local/etc/rc.d/docker.sh
- Create a
docker
group - Place a docker-compose script in
/usr/local/bin/
-
Execute the following command:
curl https://gist.githubusercontent.com/ta264/2b7fb6e6466b109b9bf9b0a1d91ebedc/raw/b76a28d25d0abd0d27a0c9afaefa0d499eb87d3d/get-docker.sh | sh
If all goes well you should see the message:
Done. Please add your user to the Docker group in the Synology GUI and reboot your NAS.
Do as it says:
- Add your user to the new
docker
group using the Synology GUI - Reboot.
Hopefully you have functioning docker
and docker-compose
commands, which should work when logged in as your normal user.
- It seems most ARM Synology don't support seccomp, so the Docker container has unfettered access to your system (even more so than with a regular docker).
- Again, due to Synology constraints, all containers need to use
--network=host
(ornetwork_mode: host
in compose) and everything will be directly accessible from the host. There are no port maps. - Obviously you can only run aarch64 images, but most hotio and linuxserver images offer an aarch64 version.
If you want a GUI you can run Portainer using the following example compose:
version: '2'
services:
portainer:
image: portainer/portainer
restart: unless-stopped
network_mode: host
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
Place this in a file called docker-compose.yml
in an otherwise empty directory. Run:
docker-compose up -d
Visit http://ip:9000
to complete setup (where ip
is the IP address of your synology).
For guidance setting up Sonarr/Radarr/Lidarr/Readarr, see the Docker Guide, and remember caveat 2 above.