The following notes are intended to act as an aide-memoire with regards to the updating of a Unifi Network Management Controller (NMC) within QTS 4. While we are using a Docker image, our image will run through QNAP’s Container Station.
Please note, that this guide was made specifically with a QNAP QGD-1600P in mind. So, while the same basic principle should apply to your QNAP NAS. Screen shots and applications settings may not be exactly the same as those found in your model of NAS.
As the instance of the Unifi Network Management Controller is stored in a Docker image, managed by ContainerStation. The Docker image we are going to be using is called jacobalberty/unifi and can be found in on the Docker Hub website.
Unfortunately is does not seem to be possible to update our NMC in the traditional way when we use a Docker image. So we will have to create a new instance of our jacobalberty/unifi image and replace it with our old one.
While we have configured our install of jacobalberty/unifii so that it should automatically import our settings from the old NMC image into our new image please see: QNAP NAS – How to install the Unifi Network Management Controller in Container Station.
We have found that sometimes the automatic import of our settings, does not always work. So we recommend that before you perform an update you make a backup of your Network Management Controller data. The following notes explain how to make a backup using the new user interface (not Classic).
- Log into the Unifi Dashboard.
- From the side menu select Settings
- Within Settings locate and select Controller Settings – Backup.
- Next to Download Backup choose how far back you want the backup data to go.
- Select Download to download a copy of the backup to your computer.
The easiest way to get to a new (updated) version of the jacobalberty image of the Unifi Management Controller software in a Container in QNAP’s ContainerStation. Is to create a new Container, stop the old Container, run the new container and then delete the old Container.
- Log into QTS using your administrators credentials.
- Open the Container Station application.
- In the Sidebar to the left of the Container Station windows, are the headings Management and Resource.
- Under Resource select Images.
- Make a note of the date and time under Image Created for the Dock jacobalberty/unifi image
- Within Images is a button called Pull.
- Select Pull.
- A Pull image from registry window will appear.
- In the Registry field choose Docker Hub from the drop down menu.
- Within Image Name type jacobalberty/unifi.
- In Image Version choose latest.
- Select Pull
Notes: The Docker Hub image is now downloaded from the internet to your QNAP NAS. You can monitor the downloads progress by selecting the background tasks icon.
Under the heading Image Created, you will see the time and date stamp. You need to find the image which has a date that correlates with the latest image found in the jacobalberty/unifi Docker Hub page. Please note that it can take a couple of extra days before the revised jacobalberty/unifi image becomes available.
Configure the jacobalberty/unifi image within Container Station
- Select Overview from the Sidebar, and stop the instance of jacobalberty/unifi that you have running.
- When the jacobalberty/unifi image has downloaded to Container Station, the date and time under Image Created will update.
- In the jacobalberty/unifi image row, select the + icon under Actions. This will allow us to create a new Container.
Notes: In order to update to a new version of, we need to swap the running image with a new image.
- In Name type Unifi (use Unifi-1 if you are updating from a previous Docker image)
- The Command field will be pre-filled.
- Entrypoint will also be pre-filled.
- We set CPU Limit to 20%, however this is a setting you can adjust depending on the hardware you are using.
- For Memory Limit to decided to use 512MB, which seems to be enough for the Unifi Controller Software to run without issue.
- We now need to select Advanced Settings.
- On the left side of the window we have a sidebar which contains the following headings: Environment, Network, Device and Shared Folders.
- For the Environment settings we will leave them on their defaults.
Notes: In the jacobalberty/unifi Github, a note makes reference to running as a non-root user. This is achieved by changing the variable RUNAS_UID0 to false. However, after doing this we found that our instance of UniFi’s Management Controller would not run. So we have left RUNAS_UID0 set as true.
- As we want the UniFi Management Controller to open under its own IP address. In Network, we need to select Bridge from the Networks Mode drop down list.
- In User Interface we selected the Adaptor 2 (Virtual Switch 3), which is the gateway to our QNAP NAS. However, your User Interface may be different depending on how you have configured your NAS.
- Next select Use static IP and assign a Static IP address to your Docker image.
- In the Device heading we can leave we can leave these settings on their defaults.
- In Shared Folders, select the Add button above Volume from host.
- Select the Host Path field
- From the drop down list choose /Container/unifi-jacob
- In Mount Point type /unifi
- Choose Create
- A Summary will be displayed select OK
Notes: The Container for our Unifi Management Controller will now be created.
- If we return to Overview, our new Docker image will be listed.
- The new image will already have been stared
- By selecting the Open Link icon, we should now be taken to the Unifi sign-in page.
- Log-in to the Unifi Console
jacobalberty/unifi: If the Unifi setup wizard is displayed, something went wrong. However, within the wizard there is an option to restore from backup. By using the backup file we previously created, we can restore our Unifi controller.
- Check Settings – Update – General to see if you have the latest version of the Unifi Controller software
- Check that you have not lost any data by upgrading the Unifi Controller software. If you do restore from your backup file.
- Return to Container Station
- Under the Management sidebar, select Overview
- Locate and select the old Docker image of Unifi. It will be the one not running.
- Select Remote to delete this old image.