Installing Unifi Controller on Raspbian/Ubuntu

Configuring the Pi for SSH and Network is fairly easy. We bought some new Unifi gear, and I wanted to set up a Raspberry Pi to run the controller software.

I use Linux on my desktop, so copying the image is pretty simple. Normally I just download the image, right click, and use disk-writer or dd to write the image to disk.

Once you write it to disk, mount the partitions, for this I use gnome-disk-utility as well, and then to enable ssh:

sudo touch /mountedlocation/boot/ssh

To enable wifi you want to edit

vim /mountedlocation/rootfs/etc/wpa_supplicant/wpa_supplicant.conf

adding the following to the bottom of the file:

network={
    ssid="networkssid"
    psk="wifipassword"
}

To install unfi software:

# update raspbian
sudo apt-get update 
sudo apt-get upgrade -y 
sudo apt-get autoremove 
sudo apt-get autoclean 

# install haveged to speed up controller startup
sudo apt-get install haveged -y 

# install openjdk
sudo apt-get install openjdk-8-jre-headless -y  

# add ubiquiti controller repo and signature
echo 'deb http://www.ui.com/downloads/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.list 
sudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ubnt.com/unifi/unifi-repo.gpg 

# install unifi controller
sudo apt-get update
sudo apt-get install unifi -y

# mongo db is installed with unify, but we don't need it wasting resources on the pi
sudo systemctl stop mongodb 
sudo systemctl disable mongodb 

# reboot AFTER you copy the admin password.

Once rebooted, you should be able to hit the IP address you can see in your DHCP client log of your router.