Sunday, December 11, 2016

Moving my Unifi Controller to my Synology Rackstation 814+ NAS

All my UniFi posts so far:

Ubiquiti UniFi AC Pro Wireless Access Point
Ubiquiti Unifi Security Gateway (USG)
Moving my Unifi Controller to my Synology Rackstation

As I mentioned last week in my blurb on the Unifi Security Gateway, I recently moved my Unifi controller from running part time on my desktop PC (basically starting it any time I needed to upgrade a device or change a configuration) to running full time on my Synology.

I had a couple of options, and I'm still not entirely sure I'm going to stick with the one I chose:

Option A: Install it Natively

It happens that there is a guy in Russia that maintains a repo for installing the Unifi controller.  His Repo is:

It looks pretty up to date, and it was what I initially started to go with, but instead I went with Option B.

Option B: Install it as a Docker Container

I'll admit that one of the reasons I did this is because I hadn't done it before.  Docker is a somewhat new thing that allows apps to be given their own environment, but to share common items and run on the same kernel.  Basically, a docker package runs in its own operating system, sort of.  Here's a link if you want to read up.

I actually found a couple of different docker repositories that had potential, but I went with this one:

This one seems to be following the unifi build cycle the best, using Latest/Testing/Unstable build tags.

I had no problem setting it up initially, but instead of pulling "latest" I pulled "version 5.2.9," which happened to be "latest" when I did the install.  Unfortunately, that wasn't what I wanted to do.  Today I pulled "latest" which is now 5.3.8, backed up my existing configuration through the Unifi controller, stopped the "5.2.9" container, created a container from the "latest" image, started it and restored my settings.  Actually there was one other step:

Set Up Your Ports

You'll probably want to change your local ports from "automatic" to be the same as the container ports, as shown below:

This was really trivial to set up using the GUI interface.  I'm not 100% sure I'll keep it in docker, but the repository seems to be well maintained.  We will see how things go over time.