How to Install Portainer on a Synology NAS

Today we are going to take a look at how you can install Portainer on a Synology NAS.

Portainer gives users a way to manage their Docker containers through a great web interface. For my Raspberry Pi and Ubuntu Docker instances, I use Portainer to manage my containers. For my Synology NAS, I generally use the front-end Docker GUI. Now, the front-end GUI of Docker on a Synology NAS leaves a lot to be desired, but overall, it’s an easy way to set up and maintain your containers.

The first question you’ll probably have is why you should install Portainer, and the truth is that you don’t have to. However, if you’re willing to experiment with it, you might find it easier to manage and use than Synology’s GUI. Portainer also gives you the ability to use stacks which is an easy way to create new containers and allows them to be created using a docker-compose format. If you haven’t used docker-compose before, it’s just an easy way to copy/paste pretty much all of the configuration you’ll need for a container and create it with the push of a button.

Please check out some of the containers that you can create and manage on a Synology NAS!

1. Instructions

1. If you haven’t already, install Docker from Synology’s Package Center. While we won’t be using the GUI interface, this installs the necessary components to get Portainer installed.

2. Open File Station and create a new folder named portainer-ce. This is where all of the Portainer files will be stored.

synology nas portainer

3. Ensure you can SSH into your Synology NAS. Open Control Panel, select Terminal & SNMP, and Enable SSH service. If you are using Synology’s Firewall, ensure that you allow port 22 traffic. I created a video on how to SSH into your Synology NAS if you have any problems.

4. Run the command below to create the Portainer container. Unfortunately, this cannot be done through Synology’s GUI. NOTE: If you have Docker installed on a volume different than one, you will have to update the volume1 location in the command below.

sudo docker run -p 8000:8000 -p 9000:9000 --detach --name=portainer-ce --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /volume1/docker/portainer-ce:/data portainer/portainer-ce

synology nas portainer

5. Navigate to the IP address of your Synology NAS and port 9000. If you are using Synology’s firewall, make sure you create an allow rule for port 9000.


6. Create a username and password to access Portainer.

synology nas portainer

7. Select Docker and then Connect.

syn port4

8. Select Local. Docker is now properly set up and configured!

syn port5

2. Conclusion - Synology NAS Portainer

Like I said a little earlier, this isn’t necessary, but it is a great alternative to managing your containers if you’d like. A lot of people hate Synology’s Docker GUI and this is an easy way to get around that.

Thanks a lot for reading the tutorial. If you have any questions, please leave them in the comments!

This Post Has 9 Comments

  1. Why this is not possible from gui ?

    1. It has to do with the “docker.sock” volume, I believe. This can unfortunately not be mapped through Synology’s GUI.

  2. Thanks for the guide, worked like a charm! To update Portainer while maintaining the config, would we need to delete the container and then run the CLI command again using the same docker/portainer-ce path?

    1. Yes, that is how you can update it!

  3. The same can be achieved with a “Control Panel / Task Scheduler / Create / Scheduled Task / User-defined script / Run” command inside Synology DSM GUI. The best thing is you don’t have to remember this docker run syntax next time when you’ll be updating your Portainer up to a latest version as this tricky code will be stored inside your Synology DSM Scheduled Task.

    1. Great input! Thanks for sharing!

  4. Good afternoon. When executing the command:
    sudo docker run -p 8000: 8000 -p 9000: 9000 –detach –name = portainer-ce –restart = always -v /var/run/docker.sock:/var/run/docker.sock -v / volume1 / docker / portainer-ce: / data portainer / portainer-ce
    getting an error:
    docker: No port specified: 8000:.
    See ‘docker run –help’.
    Help solve the problem. thank you.

    1. When you run the command, do you have the spaces in it?

      1. Thanks for the hint! Really the problem was gaps! It worked out.

Comments are closed.

Close Menu