Unifi Controller installeren op een Raspberry Pi

Probeer eens het volgende:

Code:
sudo apt install unifi -f

Of anders

Code:
sudo apt update --fix-missing

Lukt dat niet dan is het goed te kijken of je de source goed hebt toegevoegd.

Succes!

EDIT: Ik moet beter lezen en dan komt de vraag op welke versie van het OS je hebt. Ziet er naar uit dat het een wat oudere versie is.
Nou dat heb ik gedaan maar het gaat nog niet goed. De versie van Raspbian is uptodate.
Ergens heb ik gelezen dat Java versie 8 zou moeten zijn. Ik zie "java-1.11.0-openjdk-armhf" Dit zou een probleem kunnen zijn.
---------------
pi@RPI2B-1GB:~ $ sudo apt install unifi -f

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
unifi : Depends: mongodb-server (>= 2.4.10) but it is not installable or
mongodb-10gen (>= 2.4.14) but it is not installable or
mongodb-org-server (>= 2.6.0) but it is not installable
Depends: mongodb-server (< 1:4.0.0) but it is not installable or
mongodb-10gen (< 4.0.0) but it is not installable or
mongodb-org-server (< 4.0.0) but it is not installable
E: Unable to correct problems, you have held broken packages.

pi@RPI2B-1GB:~ $ sudo apt update --fix-missing

Hit:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
Hit:2 http://archive.raspberrypi.org/debian bullseye InRelease
Hit:3 https://dl.ubnt.com/unifi/debian stable InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.

pi@RPI2B-1GB:~ $ cat /etc/os-release - opm: welke versie?

PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

pi@RPI2B-1GB:~ $
------------------------
 
OK, jouw systeem is up to date (Bullseye) maar MongoDB als dependancy wil niet meewerken. Heb je al geprobeerd om mongoDB eerst te installeren en dan de Controller?


Code:
sudo apt install mongodb

Dat zou de juiste versie van MongoDB op jouw systeem moeten zetten.

Succes!

Ter info: Dit gevonden bij Ubiquiti:

Package: unifi
Version: 6.5.55-16678-1
Architecture: all
Depends: binutils, coreutils, adduser, libcap2, curl,
mongodb-server (>= 2.4.10) | mongodb-10gen (>= 2.4.14) | mongodb-org-server (>= 2.6.0),
mongodb-server (<< 1:4.0.0) | mongodb-10gen (<< 4.0.0) | mongodb-org-server (<< 4.0.0),
java8-runtime-headless | java11-runtime-headless, jsvc (>=1.0.8), logrotate
Pre-Depends: debconf (>= 0.5) | debconf-2.0
Conflicts: unifi-controller
Provides: unifi-controller
Replaces: unifi-controller
Installed-Size: 223716
Maintainer: UniFi developers <unifi-dev@ubnt.com>
Priority: optional
Section: java
Filename: pool/ubiquiti/u/unifi/unifi_6.5.55-16678-1_all.deb
Size: 132171764
SHA256: 3541913be7fa2735af60fc228ad66c829f8b4309c64a7727a2cb74de680d5710
SHA1: 5a528847aa8feb42b56036e0731f2e9ca619e799
MD5sum: 146d071c20b46c40c4806379aa21ceb3
Description: Ubiquiti UniFi server
Ubiquiti UniFi server is a centralized management system for UniFi suite of devices.
After the UniFi server is installed, the UniFi Network application can be accessed on any
web browser. The UniFi Network application allows the operator to instantly provision thousands
of UniFi devices, map out network topology, quickly manage system traffic, and further
provision individual UniFi devices.
Homepage: http://www.ubnt.com/unifi
Java 11 zou dus geen probleem mogen zijn.
 
Het installeren van MogoDB werkt niet na onderstaande stap.
--------
Installeer UniFi met behulp van de volgende opdracht voor pakketinstallatie:
De installatie duurt enkele minuten, maar is volledig geautomatiseerd en bevat componenten zoals MongoDB.

sudo apt-get -y install unifi
------------
Ook nog geprobeerd om MogoDB direct te installeren werkt ook niet.

pi@RPI2B-1GB:~ $ sudo apt install mongodb
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package mongodb is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'mongodb' has no installation candidate
pi@RPI2B-1GB:~ $

--------------------
Na het nodige lezen op internet:

https://pimylifeup.com/mongodb-raspberry-pi/ opm: Deze procedure werkt dus ook niet.

Dit schijnt onder Raspbian cq PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NIET te kunnen. Je moet een 64Bit OS hebben bijv Ubuntu Server. Alle versies van Raspbian / RPI-OS zijn 32 bits voor compatibiliteit.
Dus waarom lukt het anderen dan wel?

Nu was ik al bezig een NAS te maken van mijn RPI4-4GB met OpenMediaVault dus misschien is Ubuntu server dan maar de weg te gaan en heb ik beiden op een RPI4 staan. Maar ik wilde eigenlijk complicaties voorkomen en eerst de Unifi controller op een aparte RPI installeren en ervaring op te doen.

Reacties graag. Wat gaat er fout?
 
Hallo Henk,

Wat is er verder op de Pi geïnstalleerd? Is het een schone installatie waar je alleen de UniFi Controller op wilt plaatsen?

De link naar PiMyLifeUp geeft aan dat je op de Pi geen nieuwere versie dan 2.4.14 kunt installeren. Dat is nog nieuw genoeg voor de controller volgens de Pi:

The following packages have unmet dependencies:
unifi : Depends: mongodb-server (>= 2.4.10) but it is not installable or
mongodb-10gen (>= 2.4.14) but it is not installable or ....

Als de Pi overigens alleen voor de controller wordt gebruikt, zou ik een nieuw image op een SD kaart ploppen en kijken of het dan wel lukt.

Succes!
 
Hallo Henk,

Net mijn RPi3 geüpdate en ik zie dat ik iets meer (standaard) sources gebruik dan jij. Is daar een reden voor?

Code:
komodo@RPi3:~ $ sudo apt update
Get:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease [15.0 kB]
Get:2 http://archive.raspberrypi.org/debian bullseye InRelease [23.5 kB]      
Get:3 https://download.docker.com/linux/raspbian bullseye InRelease [26.7 kB] <- deze is niet echt standaard ;)
Get:4 http://archive.raspberrypi.org/debian bullseye/main armhf Packages [247 kB]
 
Hallo Henk,

Net mijn RPi3 geüpdate en ik zie dat ik iets meer (standaard) sources gebruik dan jij. Is daar een reden voor?

Code:
komodo@RPi3:~ $ sudo apt update
Get:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease [15.0 kB]
Get:2 http://archive.raspberrypi.org/debian bullseye InRelease [23.5 kB]     
Get:3 https://download.docker.com/linux/raspbian bullseye InRelease [26.7 kB] <- deze is niet echt standaard ;)
Get:4 http://archive.raspberrypi.org/debian bullseye/main armhf Packages [247 kB]
Nee daar is geen reden voor. Dit is wat ik kreeg met hetzelfde commando. Vraag me niet waarom. Ik ben nog niet zo thuis in Linux helaas na 15 jaar afwezigheid.

Ik begin toch te denken dat de RPI2B-1GB die ik gebruik niet meer zo'n goede keuze is. Het gaat allemaal zo traag en allerlei vreemde problemen.
Gisteren en eergisteren heb ik een RPI4-4GB gepakt en daar geprobeerd Ubuntu Server op te zetten. Ook allemaal vreemde problemen. Na veel lezen en proberen erachter gekomen dat 32GB SDHC-kaarten soms problemen geven. Nou die heb ik dan ook. :-{(> Ondertussen 16GB kaarten besteld en die komen hopelijk morgen binnen. Dan ga ik het opnieuw proberen. Ondertussen vandaag de 32GB kaart in de RPI2B-1GB gezet en ja die kaart werkt goed en de RPI2B-1GB is zelf wat sneller geworden met deze snellere 32GB kaart. Maar dat was maar kort. Voor de rest gaat nu alles zeer traag.

Het meest ben ik verbaasd dat het RPI OS voor alle processoren 32bits is dus dan zou die controller toch ook mijn RPI2B-1GB moeten lopen al is het wat trager.

Morgen weer een dag.
 
Jouw Rpi2 zou ruim voldoende moeten zijn voor de controller. Ik vermoed dat het probleem in het image zit. Ik neem aan (99,99% zeker) dat je met een Windows computer het kaartje schrijft. Je kunt dat het beste doen met de imager die je hier vindt: https://www.raspberrypi.com/software/ Daarna alles updaten en de repository van Unifi toevoegen. Daarna moet het toch lukken om het voor elkaar te krijgen.
 
Jouw Rpi2 zou ruim voldoende moeten zijn voor de controller. Ik vermoed dat het probleem in het image zit. Ik neem aan (99,99% zeker) dat je met een Windows computer het kaartje schrijft. Je kunt dat het beste doen met de imager die je hier vindt: https://www.raspberrypi.com/software/ Daarna alles updaten en de repository van Unifi toevoegen. Daarna moet het toch lukken om het voor elkaar te krijgen.
Natuurlijk heb ik de Imager V1.6.2 gebruikt. Elke keer als ik een kaartje gebruik zet ik alles er maar opnieuw op om problemen te voorkomen.

Gisteren was mijn RPI2B nogal traag geworden. Soms duurde het minuten voor dat ik weer iets kon doen. De task manager gaf aan dat de processor 1 of soms maar 0% actief was. Mij een raadsel waarom er dan niets gebeurt als ik mijn muis beweeg?

Maar goed vanmorgen deed hij het weer en op dit moment probeer ik nogmaals de Unifi controller te installeren.
-----
Voeg de UniFi-repository toe aan de bronnenlijst met behulp van de volgende opdrachten:

Code:
------
Dit werkt.

Java staat al geinstalleerd neem ik aan.

-------
pi@RPI2B-1GB:~ $ java -version

openjdk version "11.0.14" 2022-01-18

OpenJDK Runtime Environment (build 11.0.14+9-post-Raspbian-1deb11u1)

OpenJDK Server VM (build 11.0.14+9-post-Raspbian-1deb11u1, mixed mode)

pi@RPI2B-1GB:~ $
---------
Maar loopt Java ook? Hoe controleer ik dat? Op internet kan ik niets over vinden. Met Chromium kwam ik er ook niet uit. Hoe kan ik Java activeren?
-------
pi@RPI2B-1GB:~ $ java -version
openjdk version "11.0.14" 2022-01-18
OpenJDK Runtime Environment (build 11.0.14+9-post-Raspbian-1deb11u1)
OpenJDK Server VM (build 11.0.14+9-post-Raspbian-1deb11u1, mixed mode)
---------
Betekent dit nou dat Java loopt?
---------
pi@RPI2B-1GB:~ $ sudo -config java
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-T timeout] [-u
user] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-T timeout] [-u
user] file ...
---------

In elk geval laat de Unifi controller zich niet activeren.
 
Laatst bewerkt:
De Java Runtime libraries worden aangeroepen door programma's. Een deel van de web interface van de controller ziet er dynamisch uit en dat wordt in veel gevallen met Java gedaan.

Wat krijg je te zien als je
Code:
sudo systemctl status

uitvoert?

Ik heb de controller al weer een tijdje geleden van de Pi gehaald dus ik doe even een gokje (andere leden met een Pi en een geïnstalleerde controller mogen helpen:)) hoe je hem moet starten. Volgens mij was het
Code:
sudo systemctl enable unifi.service
(gevolgd door)
sudo systemctl start unifi.service

Nabrandertje: wordt de voeding of de Pi erg heet als de Pi traag wordt?
 
Hallo,
Ik ben ook maar een helemaal opnieuw begonnen op een pi3B+. Echter loop ik in cirkels. Omdat de pi-3b+, 64b ondersteunt heb ik 64b lite erop gezet. (Gelijk maar naar Bullseye). Het lukt mij prima om de jdk 8 erop zetten. Echter bij MongoDB gaat het fout (InRelease' doesn't support architecture 'arm64' )
Is versie 3.6 Mongo wel 64b?

Code:
sudo apt-get update
Hit:1 http://security.debian.org/debian-security bullseye-security InRelease
Hit:2 http://deb.debian.org/debian bullseye InRelease
Hit:3 http://deb.debian.org/debian bullseye-updates InRelease
Hit:4 http://archive.raspberrypi.org/debian bullseye InRelease
Ign:5 http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 InRelease
Get:6 http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 Release [2,393 B]
Hit:7 https://adoptopenjdk.jfrog.io/adoptopenjdk/deb bullseye InRelease
Get:8 http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 Release.gpg [801 B]
Fetched 3,194 B in 4s (718 B/s)
Reading package lists... Done
N: Skipping acquire of configured file 'main/binary-arm64/Packages' as repository 'http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 InRelease' doesn't support architecture 'arm64'
N: Skipping acquire of configured file 'main/binary-armhf/Packages' as repository 'http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 InRelease' doesn't support architecture 'armhf'
pi@raspberrypi:~ $ sudo apt-get install mongodb-org mongodb-org-server mongodb-org-database mongodb-org-mongos mongodb-org-shell mongodb-org-tools -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package mongodb-org
E: Unable to locate package mongodb-org-server
E: Unable to locate package mongodb-org-database
E: Unable to locate package mongodb-org-mongos
E: Unable to locate package mongodb-org-shell
E: Unable to locate package mongodb-org-tools

Dus een paar vragen aan jullie (voordat ik terug ga naar 32b):
  • ik het vermoeden dat 64bit gewoon niet gaat, echter kan ik nergens de requirements hiervan boven water krijgen. Kan 64bit in deze combi wel?
  • doe ik iets verkeerd in opzetten van de repos (InRelease' doesn't support architecture 'arm64' ), bestaat deze wel in 64b? Welk moet ik dan hebben?
thx.
 
Ik heb deze instructies ook gevonden en geprobeerd; ik vond het een drama.
Al die losse pakketten en afhankelijkheden. De UnifyController heeft Java en MongoDB nodig. Beide zijn complete pakketten op zichzelf; die moet je dus goed installeren, met de juiste versie en architectuur.


Wat enorm soepel werkt: Docker.
Er zijn 2 docker images beschikbaar voor de Unify controller:
en

Ik heb de 2e gepakt vanwege goede ervaringen met de linuxserver-images.

3 dingen te doen:
Je hebt een Pi nodig die docker kan draaien (duh). Ik gebruik een Pi4.
Je moet bij de parameters van het 'run' commando een directory opgeven waar de container zijn configuratie opslaat
Je moet (dit is belangrijk) nadat je de container gestart hebt, onder System -> Other Configuration -> Inform Host het vinkje aanzetten en de host invullen waar de docker container draait. Dit is noodzakelijk om devices te kunnen adopteren.

Voordelen van docker in het algemeen:
- de installatie is grotendeels gedaan, én werkend, in de container. Het is vaak niet meer dan één commando met parameters.
- verschillende installaties op één machine beïnvloeden elkaar niet.
- een installatie is makkelijk herhaalbaar, op te ruimen en opnieuw te doen.
 
En daarom draai ik hem in docker. Al die installatie en alle afhankelijkheden zijn dan al correct ingesteld.
Bovendien installeer je ze niet op de raspi zelf, zodat je ook nog andere software kunt installeren die misschien ook Java of Mongodb gebruikt en die ineens geupdate moet worden.

Ik gebruik de linuxserver-versie.
Alleen even opletten dat je de 'override host' in het config menu zet op het IP adres van de raspi waar de container op draait.
 
Dank. Ik ben net nieuw met Docker en de Pi.. waar / hoe zou ik dit moeten instellen?

Docker kun je installeren als je daar op googlet.
Je gaat tot en met het draaien van de 'hello world' container en het toevoegen van de gebruiker aan de docker-groep.

daarna kun je het docker-run commando geven :
docker run -d \
--name=unifi-controller \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/Amsterdam \
-p 8443:8443 \
-p 3478:3478/udp \
-p 10001:10001/udp \
-p 8080:8080 \
-p 1900:1900/udp `#optional` \
-p 8843:8843 `#optional` \
-p 8880:8880 `#optional` \
-p 6789:6789 `#optional` \
-p 5514:5514/udp `#optional` \
-v <path to data>:/config \ <- Bij <path to data> moet je zelf een pad invullen waar je de data wilt hebben.
--restart unless-stopped \
lscr.io/linuxserver/unifi-controller:latest


Als je de controller installeert kun je al inloggen, alleen doen je Unify devices het nog niet. Ze blijven op 'adopting' staan.
Override host staat onder Settings->System->Advanced->OverrideHost.

Dit adres is er voor een soort van discovery. De controller vertelt alle devices waar ze de controller kunnen vinden. Omdat hij zelf in een Docker container draait moet hij in dit geval niet zijn eigen IP adres binnen in die container geven, maar de host waar hij op draait.

Dat is de enige wijziging die je moet maken als je docker draait.
 
Laatst bewerkt:
  Topic Status: Hallo . Er is al meer dan 14 dagen geen nieuwe reactie meer geplaatst.
  De inhoud is mogelijk niet langer relevant.
  Misschien is het beter om in plaats daarvan een nieuw onderwerp te starten..