Skip to main content

If you have Unifi network gear you also need the Unifi Controller. And it is best to keep the controller running 24/7, so where are you going to install it? If you have a Synology Nas then you could use a Docker Image to run the Unifi Controller. In this article, I will guide you through the installation of Docker and Unifi on your Synology in 5 minutes.

Before we can start we need to make sure that your Synology supports Docker. You can check this in two easy ways:

  1. Login to your Synology and go to the Package Center, search in the top left corner for Docker. If it doesn’t return any results, then Docker isn’t supported for your model
  2. On the website of Synology, you will find information about the add-on Docker and which models support it. Check if your model is listed there under the applied model’s section.

If your Synology isn’t supported you can also go for the Raspberry Pi solution or check out the Unifi Cloud Key

Installing Docker on your Synology

First, we are going to install Docker. Docker allows you to run applications in containers. The advantage of containers is that a developer can create a package, in this case, the Unifi Controller, with all the parts it needs (like Java and MongoDB). Leaving the user with only downloading and starting the image up inside the container. This way other application on the same machine won’t be harmed.

  1. Login to your Synology Nas with an admin user.
  2. Open the Package Center
  3. Search in the top left corner for Docker
  4. Install Docker (blue whale icon)

Installing the Unifi Controller

Installing the Unifi Controller is just a few mouse clicks. We are going to download the Unifi Controller image (700Mb) and configure the Docker Container for it.

Downloading the image

Docker starts up after you installed it:

  1. Open the Register
  2. Search on unifi
  3. Select jacobalberty/unifi
  4. Click Download

Starting the Unifi Container Image

It may take a few minutes to download the image, you can see the progress on the Image tab. When the download is complete, select the image and click on Launch:

Configure the Unifi Container

After you clicked on Launch, the container configuration wizard will start. We need to change some settings so we can reach the Unifi Controller from another computer (then only from the Synology), store the files somewhere, and limit the resources.

General Settings

  1. Give the Container a name, like Unifi-Controller. Something you will recognize later.
  2. Enable resource limitation, this way the Unifi Controller can’t use all the resources of the Synology. This is really recommended if you are running more applications on your NAS.
  3. Click on Advanced Settings

Advanced Settings

On the next screen, enable Auto-restart. This way the Unifi Controller will be restarted when your Synology turns is rebooted (after an update for example)

Set Disk Volume

Click on the tab Volume. We need to map the file storage of the Docker to the disk of Synology.

  1. Click on Add Folder
  2. Select docker
  3. Click Create Folder
  4. Name it UniFi
  5. Click on Select

Next, we need to map the newly created folder. In the column, Mount Path enter /unifi

Network Settings

Click on the network tab and select Use the same network as Docker Host. This way we can reach the Unifi Controller on the same IP Address as our Synology NAS.

Environment Settings

  1. Click on the last tab, Environment.
  2. Scroll all the way down and change the following values:
    BIND_PRIV False
    RUNAS_UID0 False
  3. Click on Apply
  4. Click on Next and Apply again.

The Unifi Controller will now start and is accessible on your Synology address on port 8443. So if you can open your NAS on https://192.168.1.2 then you can find the Unifi Controller on https://192.168.1.2:8443. Make sure you put https in front of it.

Configure your Synology Firewall

By default, the Synology firewall is turned on. This will prevent you from accessing and using the Unifi Controller. You don’t need to turn the firewall off, you only need to open some ports to allow traffic to the Unifi Controller. You can do this as follows

  1. Open the Control Panel
  2. Select Security
  3. Select Firewall

Here you will see the Enable Firewall is turned on. Below that you will find the Firewall Profile. Click on Edit Rules to open the ports for the Unifi Controller.

  1. Click on Create to add a Firewall Rule
  2. Select Ports > Custom and again Custom (button)
  3. Protocol is TCP
  4. Ports (Separate with commas):  8080,8443,8843,8880,6789
  5. Click Ok and Ok
  6. Click on Create again
  7. Select Ports > Custom and again Custom (button)
  8. Protocol is UDP 
  9. Ports (Separate with commas):  3478,10001
  10. Click Ok (3x times)

You should now be able to access the Unifi Controller. If this controller is still not accessible then it might be necessary to restart your Synology NAS. The Unifi Controller will start automatically after the reboot.

Updating the Unifi Controller Container

Updating the Unifi Controller on the Synology is a little bit different compared to a Linux/Windows/Rasberry Pi installation. You can’t just download the latest version and run the installer inside the Docker container. There is no auto-update feature either, so when a new version comes out, you will need to download a new version of the Docker Unifi Image. Tip: subscribe to my email list in the sidebar to receive a notification when a new version is available!

Before you start updating you should always make and download a backup of your Unifi Controller. Log in to the controller and select Maintenance. Scroll down to Backup and download the backup file.

Also, I really recommend to backup your Unifi Controller to cloud storage, like Dropbox. This way you can always restore your controller. You can read everything about it in this article.

Downloading the latest version

To update the controller you need to follow these steps:

  1. Open Docker on the Synology
  2. Click on Registry and search again for Unifi (just like we did during the installation)
  3. Select the jacobalbert/unifi and click download.
  4. Wait until the download is completed (check the image tab or wait for the notification)

Updating the container

When the download is finished we can start with updating or actually replacing, the Docker image. In Docker select Container:

  1. Stop the Unifi Controller container by flipping the on-off switch. Wait until the status is changed to stop
  2. Select the Unifi Controller container again
  3. Click on Action and select Clear
  4. Acknowledge that all the data in the container will be lost. (Settings and data are saved in the mapped folder)
  5. Start the container again by filliping the on-off switch

You can now log in again on your Unifi Controller.

Alternatives

If your Synology doesn’t support Docker or you are planning to buy a new Synology NAS, then make sure you check the Docker Add-On page on the Synology website to see if it supports Docker. For home networks, the Synology NAS DS218+ is a good and affordable choice. It will cost around $ 300 on Amazon for the diskless version. Don’t be tempted to go for the cheaper version, they don’t support Docker.

A cheaper alternative to run the Unifi Controller is a Rasberry Pi or the Unifi Cloud Key. The Cloud key cost only a third on Amazon of the Synology NAS and you only need to power it up to use the controller software.

If you want a more scalable and managed UniFi controller, then a hosted UniFi Controller can also be a good solution. Read more about hosted controllers in this article.

Conclusion

If you have any questions just drop a comment below. Make sure you sign up for the newsletter to stay up-to-date with the Unifi Controller software.

See also:

  • Best Practices for setting up the Unifi Controller
  • Backup your Unifi Controller to the Cloud
  • Unifi Protect Review
  • How to create a fast and stable home network
  • Monitor your home network for free