Install Unifi Protect on ODroid C2

, posted: 2-Aug-2020 08:10

I had a conversation with someone a while ago about Unifi Protect and the fact it only works on a Cloudkey. Since a Cloudkey is just an 64bit ARM I thought I would try installing it on an ODroid C2. This is completely unsupported and who knows if it will stop working in the future... so YMMV.

Installation steps:

- Download Armbian Stretch

The reason to use Stretch rather than Buster is that the Cloudkey also runs Stretch lets not make things complicated, as it also uses the included version of postgres and nodejs.

https://www.armbian.com/odroid-c2/ or the specific download: https://dl.armbian.com/odroidc2/Stretch_current

Then DD that onto a SD card or eMMC.

xzcat -dc stretch_current | dd of=/dev/sdX bs=20480

Login with root / 1234 and reset the password.

mkdir -p /srv

Then mount a large external disk to: /srv

mount /dev/sdb1 /srv

This could be nfs or a local disk, whichever works for you.

One issue you will have is you need a package called "ubnt-tools" that is bundled with the Cloud Key image not as a separate package. So you will need to download the Cloudkey image and unpack it and then re-pack the ubnt-tools package to be installed.

Download the full image here: https://www.ui.com/download/unifi/unifi-cloud-key-gen2/uck-g2

Then install the following packages to unpack the image, repack ubnt-tools as a deb and a dependent package for ubnt-tools:

apt-get install binwalk squashfs-tools p7zip-full smartmontools dpkg-repack liblockfile-bin

The run binwalk across the whole image and then use dpkg-repack to rebuild the deb. After using binwalk on the pacakge and extracting everything you will see there is a squashfs-root subdirectory where the whole squashfs filesystem was extracted, then use dpkg-repack to rebuild the installed package back into a deb for you to install:

binwalk -e UCKG2.apq8053.v1.1.13.818cc5f.200430.0948.bin
cd _UCKG2.apq8053.v1.1.13.818cc5f.200430.0948.bin.extracted
dpkg-repack --root squashfs-root ubnt-tools
dpkg -i ubnt-tools_0.9.40~264+ge174a4b_arm64.deb
apt --fix-broken -y install

Then any of the missing dependencies should be sorted and you are good to install the repos and packages. 

Add repo keys for nodesource and unifi

curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
apt-key adv --keyserver keyserver.ubuntu.com --recv 06E85760C0A52C50 
apt-key adv --keyserver keyserver.ubuntu.com --recv 97B46B8582C6571E 

Add package repos to sources.list.d

echo deb https://deb.nodesource.com/node_8.x stretch main > /etc/apt/sources.list.d/nodejs.list
echo deb http://apt.ubnt.com/ stretch main > /etc/apt/sources.list.d/ubnt-common.list
echo deb http://www.ubnt.com/downloads/unifi/debian cloudkey-stable ubiquiti > /etc/apt/sources.list.d/ubnt-unifi.list

apt-get update

apt-get -y upgrade

apt-get install unifi-protect

Now try connecting to your server https://unifi:7443

And check out the /srv/unifi-protect/logs especially service.log which should show if it is working or not.

Other related posts:
APC UPS Smart-UPS 750 XL battery constants
Active Directory Kerberos authentication with Apache on Linux






BarTender's profile

Bar Tender
Wellington
New Zealand