Install Unifi Protect on ODroid C2
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