Skip to content

Instantly share code, notes, and snippets.

@projectoperations
Forked from gamma/README.md
Created May 17, 2024 13:05
Show Gist options
  • Save projectoperations/900c5032cffdc783b61c3abafc91d86a to your computer and use it in GitHub Desktop.
Save projectoperations/900c5032cffdc783b61c3abafc91d86a to your computer and use it in GitHub Desktop.
How to connect a docker container to the docker daemon on a Synology NAS

Note: This originates from: https://forum.synology.com/enu/viewtopic.php?f=258&t=107508&sid=78d911737c5ecea1f9087bdab13612bf&start=15#p478281

Here are steps that I have modified to work for me. This assumes you have a shared folder named "docker" in volume1.

We need to Symlink /var/run/docker.sock to /volume1/docker/docker.sock, because Synology Docker GUI will not be able to run it when it's pointed directly to /var/run/docker.sock. Also the symlink needs to persist after reboot. To make it do so, you will need to create an automated task in your Synology DSM via "Task Scheduler".

  • Go to "Control Panel" > "Task Scheduler".

  • Click "Create" > "Scheduled Task" > "User-defined Script".

  • On the "Create Task: Window, make sure "User:" is selected as "root" and rename the "Task:" to whatever you like.

  • Click "Schedule" tab. Under "Date - Run on the following days", select "Daily". Under "Time - Frequency", select "Every 1 hour(s)" (just to be on the safe side).

  • Click "Task Settings" tab. Under "Run command - User-defined script", paste the following line into the text box and press "OK".

    sudo ln -s /var/run/docker.sock /volume1/docker/docker.sock

The newly created task will be listed there. Click to highlight it and then click "Run" to run it once immediately. Next, we need to download/pull and install the docker container. We can do all this with a single "docker run" command via shell.

  • First, SSH into Synology.

  • Then, run the following docker run command as sudo:

    sudo docker run -d --name watchtower -v /volume1/docker/docker.sock:/var/run/docker.sock centurylink/watchtower --interval 82800 --cleanup

You will now be able to run Watchtower via the Synology Docker GUI. You may also set it to restart automatically within the container settings.

Note: You may be able to do step 2 without using the shell (i.e. SSH) by scheduling a task like in Step 1 and deleting it after running it once. Feel free to try out any changes you like.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment