Running Ubiquiti UniFi controller in Docker on Synology NAS

Recently I posted how to run the Ubiquiti UniFi Controller in the cloud using services like Linode, Vultr, or DigitalOcean. However, a few people has asked if I could post instructions on how to run the UniFi controller in Docker, similar how I have CrashPlan running in Docker.

For the steps below I’ll be using my Synology DS1815+ NAS which is compatible to run Docker. If you’re unsure if your model support docker or not you can check here.

How to install Ubiquiti UniFi Controller in Docker on Synology NAS

I’ll assume your Synology NAS does support Docker and you’ve already installed the Synology Docker app on your Synology NAS.

  1. SSH into your Synology NAS using PuTTy or other terminal of your choice, login using your account with admin access.
  2. First lets create a new folder called “unifi” located in “docker“, this will be used to store all our UniFi Controller configs, so when we upgrade the Docker container our configs remain in place. (Replace volume1 with your desired volume)
    mkdir /volume1/docker/unifi

    unifi controller docker synology create folder

  3. Now lets pull, or download, the UniFi Controller Docker container from the Docker Hub by typing the following command:
    sudo docker pull jacobalberty/unifi:latest

    docker pull unifi controller image

  4. Next lets run the new UniFi Controller container by typing the following, again replacing ‘volume1‘ with the volume you create the unifi folder on.
    sudo docker run -d --name=unifi-controller --net=host --volume=/volume1/docker/unifi:/var/lib/unifi -p 8080:8080/tcp -p 8081:8081/tcp -p 8443:8443/tcp -p 8843:8843/tcp -p 8880:8880/tcp -p 3478:3478/udp jacobalberty/unifi:latest

    unifi controller docker synology run container

  5. Now finally, open a web browser and go to: https://<SYNOLOGY_IP>:8443

Configuring Ubiquiti UniFi Controller in Docker

Now we’ll just need to finish the UniFi controller setup by following the wizard once you’ve loaded https://<SYNOLOGY_IP>:8443 in your browser from the above steps.

  1. First, set your country and timezone then click Next.
    unifi controller setup step 1
  2. The UniFi controller will automatically find any access points on the same network, select the access point you’d like to configure for the Docker UniFi controller to manage and click Next.
    unifi controller setup step 2
  3. Enter the SSID you’d like your wireless network to be named and a password then click Next.
    unifi controller setup step 3
    Optionally, you can also configure a guest wireless as well by checking the “Enable Guest Access”.
  4. Now set the login user and password. This will be used to access the Docker UniFi Controller management page. Then press Next.
    unifi controller setup step 4
  5. Finally, review that the SSID and User names both look correct then press Finish.
    unifi controller setup step 5

Once the wizard has completed your Ubiquiti access point will be adopted, configured and ready to connect to from any of your wireless devices.

It is a good idea to log into the UniFi Controller management page (https://<SYNOLOGY_IP>:8443) and check the firmware status of the access point. As shown below the access point is still functioning but also showing us that a upgrade for the access point is available. Simply click on the “Upgrade” link and the UniFi controller will automatically upgrade it within just a few minutes.

unfi controller upgrade access point

The benefits of running the Ubiquiti UniFi controller in Docker on the Synology NAS is that it’s free (if you already own the Synology NAS) and super simple to setup. Depending on your Synology specs, such as a Synology DS1815+, you could easily manage several access points and sites using the docker UniFi controller and upgrading to 16GB RAM will certainly help with resources.

I still prefer hosting my UniFi Controller in the cloud using Linode, Vultr, or DigitalOcean if only for the fact my UniFi controller isn’t tied to my home/business network. Which means I’ll get email notifications if an access point goes offline. An important function for me as I manage several access points for other places and people.

Otherwise, if you are looking for a great solution for your home or business then the UniFi Controller in Docker is perfect fit!

If you’re looking to get in touch, follow me on Twitter!