Unifi controller installer




For me it installed manually OK, but does not see devices on network and cannot adpat using mobile application either, dunno where could be problem

sudo apt-get update && sudo apt-get -y upgrade

sudo apt-get -y install oracle-java8-jdk

echo 'deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti' | sudo tee -a /etc/apt/sources.list.d/100-ubnt.list > /dev/null
sudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ubnt.com/unifi/unifi-repo.gpg
sudo apt-get update

sudo apt-get -y install unifi

sudo systemctl stop mongodb
sudo systemctl disable mongodb

My bad, I did not understand UBNT, you can adopt devices only if they are not setup without controller (or with other controller obvs.)

+1 to this too

The above steps didn’t work for me with latest DietPi. I couldn’t easily install mongodb - still seems like you have to go through all the steps of installing the binaries

Did some digging


Important Notes:

Linux systems must be running a version of MongoDB prior to 3.6.x. We recommend 3.4.x. This is most likely to be an issue on Ubuntu 18.04 LTS, as it currently offers MongoDB 3.6.x. >
The initial database migration will take longer than normal. It is expected to see mongo using most, if not all, of the available CPU cycles during this process. Please be patient, this process could easily take 15+ minutes, depending on the amount of historical stats, as well as the system specs. As always, err on the side of caution, and make a backup before upgrading.
The controller will not start if it is set to bind to a privileged port (<1024), as it now runs as a non-root user.
If your controller is running on a UniFi Cloud Key (UCK), make sure it is on firmware 0.6.4 or later, otherwise the controller will not start. This firmware is available via the normal upgrade mechanism found in the controller or it’s local management page. Make sure to make a backup before upgrading the UCK firmware, as you’ll need it to restore after, and it’s good to have a backup on hand before any controller upgrade.
Support for PicoM2 and 1st gen AC models was dropped in 5.7.x. Please see our announcement HERE.
As of release branch 5.7.x we’ve made some important changes to the Wireless Uplink feature (feature details HERE).
We removed the “Enable automatic uplink failover” from wireless uplinks as it is no longer needed.
We added the ability to opt an AP in or out of wireless uplinking to another AP. This is done by checking the “Allow meshing to another access point” option found under device properties>Config>Wireless Uplink.
This option should be disabled on wired APs, but is required to be enabled on wireless APs.
If you disable this option on a downlink/wireless AP, then your AP will be disconnected from the network and require further action (including physical access).
If upgrading from 5.6>5.7 then this already be disabled on wired APs, but if upgrading from an earlier 5.7. release then this may be enabled on wired APs.
Again, this option should be enabled on downlink/wireless UAPs only. It should not be enabled on wired UAPs.
We added the ability to set uplink priorties. This allows you to define the preferred uplinks for a downlink/wireless AP.
We’ve found that some migrations from 5.6 to 5.7 have resulted in Fast Roaming being enabled, which is not our recommendation. If you see this, feel free to disable Fast Roaming on all Wireless Networks.
Fixed IPs (DHCP reservations) are now required to use unique IPs. The same IP cannot be assigned to more than one device. For configurations that already contain duplicates, only the most recently active device will have its fixed IP provisioned to USG. The controller’s server.log will contain a log message skip provisioning duplicate fixed IP for user[] indicating which was omitted where there are conflicts.
Custom port profiles on AC-IW/IW-Pro are not supported until the 5.9.x release branch.

UniFi - How to Install & Update via APT on Debian or Ubuntu

Biggest thing I see is this
UniFi - Recommended Minimum System Requirements

Operating System:

Ubuntu Desktop / Server 14.04 or 16.04 (recommended)
Debian 7 “Wheezy”, 8 “Jessie”, 9 “Stretch” (recommended)
macOS Mavericks 10.9, 10.10 Yosemite, 10.11 El Capitan, 10.12 Sierra, 10.13 High Sierra (10.13 recommended)
Windows 7 or Windows 10 (recommended)
Windows Server 2008 or 2016 (recommended)

CPU: x86-64 Processor (Intel / AMD x64 Processors)*


Network: 100Mbps Wired Ethernet*

HDD: Minimum 10GB free (20GB or more preferred)*

Java: Java Runtime Environment (JRE) 8

Web Browser: Google Chrome

MongoDB: version 3.2 or later (Mongo is offered bundled: default bundled is 2.4.14 (for macOS and Windows only)).

Don’t think there is an ARM port

more poking around, I found this

I can get it running now on latest DietPi with XU4, by using the mongodb binaries here: https://andyfelong.com/2017/03/mongodb-3-0-14-binaries-for-raspberry-pi-3/

The problem is that the unifi controller packages have mongodb as a dependency, so installing them fails when using the binaries (as it can’t find a proper package installation I guess).

I first tried using

dpkg --ignore-depends=bar -i foo_1.2.3_amd64.deb

…to ignore the mongodb-server dependency, which works fine, but breaks the package system, and so every time you do apt-upgrade it fails trying to find the dependency.

I then manually removed the dependency from the latest unifi package, instructions here: https://serverfault.com/questions/250224/how-do-i-get-apt-get-to-ignore-some-dependencies

This fixes package dependency issues but I guess I’m going to have to manually edit the new package every time a new version is released.

I’m a linux newbie so I could be missing something obvious here. It does seem though that the cleanest solution would be if there was a compatable mongodb server package, but I read that it isn’t available for armf archtecture anymore…

Thanx a lot ! I managed also to install the controller after messing a little with the dependencies and using the binaries ! An optimized packet would be fantastic if ever would be implemented ! :sunglasses:

It is possible to manually adjust the dependencies of a deb package. Did never tried this, but some web search should lead to results, which lines to edit, so APT runs will not complain any more.

I want to add MongoDB to DietPi optimized software offer soon, as this is needed for several other software installs. Sad that there are still no official ARM(v6/7) packages. Of course we could try to build own deb packages (based on the linked binaries or own builds), but would need muuch testing to assure it works well on all ARM(v6/7) devices :thinking:.

Perhaps it’s also possible to create an empty fake mongodb-server package?

For anyone else looking at this, I tried and failed to install diret to DietPi.

I did manage to install Unifi using a docker I found https://github.com/ryansch/docker-unifi-rpi (haing installed docker from dietpi-software first).

I did need to install docker-composer (simply via apt) to build it.

As an aside, I did also manage to install Unifi on a raspbian image using these instructions so not really sure what the issue is with DietPi https://www.technologist.site/2016/06/02/how-to-install-ubiquiti-unifi-controller-5-on-the-raspberry-pi/.

As an update to this, and it may be interesting wrt including Mogodb, the scripts here for Debian 9 worked out of the box on an up to date DietPi install (VM on amd64 host).



A year later and I have just rebuilt my Unifi controller on a DietPi Buster based VM using this script and also created a LE SSL certificate and used his LE script to install it (you need to do some weird keys thing).

Really easy :smiley: :smiley:


I have noticed in the past that the memory ran away - it looked like a memory leak. Actually it turns out that, by default, the java app is allocated 1GB of memory. Not so good on most SBCs. This is easily solved by allocating less memory…

nano /var/lib/unifi/system.properties

And add these 2 lines (adjust sizes to suit).


This is now super stable!

1 Like

Hi everyone,

I am also moving my unifi controller to my dietpi. Installing it via glenn r. Scripts was easy as pi (pun intended).

But i am trying to set up a high availability and noticed mongodb version 2.4 is installed.

Is there a better way to update mongodb? Without breaking unifi? That way I can follow this tutorial


They have a Debian repository:

curl -sSfL https://www.mongodb.org/static/pgp/server-4.4.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/mongodb.gpg
echo "deb http://repo.mongodb.org/apt/debian $G_DISTRO_NAME/mongodb-org/4.4 main" > /etc/apt/sources.list.d/mongodb.list
apt update
apt install mongodb-org-server

EDIT: Ahh, dammit, it’s x86_64 only.

Debian does not maintain any MongoDB packages anymore, whatever the reason for this is. So there is no common way to install it on ARM, quite strange nowadays where SBCs are quite a driver for software development :thinking:.

So also not a option untill we have a stable deutpi 64 release :wink:

It’s not about 32-bit vs 64-bit but about x86 vs ARM. Or in other words: This repo is for PCs, not for SBCs :wink:.

Fair enough. Guessing i will just have to research how to code it in 2.4 to make it work. Found
So will start working with that

Probably some volunteers or 3rd parties offer or even maintain newer binaries or packages.

Quick search reveals that the official repo for Ubuntu ships ARMv8/aarch64 packages, hence working on our 64-bit RPi images: https://repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/4.4/multiverse/
Those were build by Ubuntu maintainer it seems: https://packages.ubuntu.com/focal/mongodb

Hi everyone,

Just wanted to share that I’m running the UniFi Controller on a Pi Zero W, and it’s running well.

I followed the steps listed in this guide:

Make sure that you make the suggested edits in baz123’s comment above.

There’s also a handy guide on updating the controller:

Hope it’s useful to someone else trying to install this on a Pi & DietPi.

Going with JAVA version 8 and a Debian Stretch MongoDB is not really something I would recommend. It’s a shame for Unifi not being able to provide up-to-date software version. Or at least a version that is able to run on ARM based SBC without beeing forced to use that old software packages.

1 Like