Ja mam doma Unifi asi rok, rozbehal som to na Rasperry Pi 4. Mam do neho pripojeny SSD disk cez USB + PiJuice Hat. V tom Hat-e je bateria, takze v pripade vypadku elektriky to par desiatok minut vydrzi utiahnut to RPI. Mam tam nastaveny aj soft shutdown v pripade, ze stav baterie klesne pod 20 %.
K samotnemu Unifi controlleru: ja velmi odporucam riesenie cez Docker.
Spisem ti tu postup, ak si to budes chcet rozbehat na RPI s microSD kartou.
1) Nainstaluj do tvojho sucasneho OS RPI Imager nastroj a priprav cez neho bootovatelnu microSD kartu do RPI. Mne sa osvedcilo ako cielove OS Ubuntu OS - tj vyber OS Ubuntu 22.04.03 LTS 64bit server edicia
2) Zapoj RPI do siete a zisti jeho IP, bud v routeri alebo nmapom ( vychadzam z toho, ze RPI bolo pripojene do siete s rozsahom 10.0.3.X )
$ nmap 10.0.3.1-255
3) Dajme tomu, ze IP RPI je 10.0.3.39
Pripoj sa do RPI a nainstaluj Docker
$ ssh
ubuntu@10.0.3.394) Instalacia dockeru a docker compose
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
$ curl -fsSL
https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository \
"deb [arch=arm64]
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
5) Test Docker image
$ sudo docker run hello-world
6) Docker compose instalacia
$ sudo apt-get install docker-compose
$ docker-compose --version
7) Rozbehanie Unifi controlleru
$ mkdir -p ~/docker/build/unifi-controller
$ cd ~/docker/build/unifi-controller
$ vim docker-compose.yml
version: "2.1"
services:
unifi-controller:
image: lscr.io/linuxserver/unifi-controller:8.0.24
container_name: unifi-controller
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- MEM_LIMIT=1024 #optional
- MEM_STARTUP=1024 #optional
volumes:
- /data/unifi-controller:/config
ports:
- 8443:8443
- 3478:3478/udp
- 10001:10001/udp
- 8080:8080
- 1900:1900/udp #optional
- 8843:8843 #optional
- 8880:8880 #optional
- 6789:6789 #optional
- 5514:5514/udp #optional
restart: unless-stopped
$ sudo mkdir -p /data/unifi-controller
8 Nastav staticku IP pre Raspberry PI (na hodnotu 10.0.3.30/24)
$ sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
a vloz do toho konfigu:
network: {config: disabled}
Potom otvor
$ sudo vim /etc/netplan/50-cloud-init.yaml
a vloz (nahrad) s tymto konfigom:
network:
ethernets:
eth0:
addresses: [10.0.3.30/24]
routes:
- to: default
via: 10.0.3.1
nameservers:
addresses: [8.8.8.8]
version: 2
Yaml subory su odsadene dvomi medzerami. Nepouzivaj taby, len medzery. Ak ten yaml nebude spravne naformantovany, raisne to chybu.
Vykonaj zmeny:
$ sudo netplan apply
Vypis si aktualne pridelenu IP
$ ip add show
Ale nevypise ti ju, budes kvoli zmene IP odhlaseny z ssh session. Takze sa prihlas znovu na novu staticku IP. Pripadne nasledne restartuj RPI aby si sa presvedcil ze to nastavenie je persistentne.
9) Spustenie Unifi controlleru
$ cd ~/docker/build/unifi-controller
$ sudo docker-compose up -d
Pockat chvilu kym to nastartuje
Webui bude dostupne na
https://10.0.3.30:8443 , pokracuj v instalacii. Mozes si vytvorit lokalny "offline" ucet.
10) Ak chces stopnut Docker kontajner, tak
$ sudo docker-compose down
11) Nastavenie Unifi siete
v nastaveniach nastav override Inform host na 10.0.3.30
12) Ak ti nenaskocilo nove Unifi zariadenie v UI, mozes mu trigerovat adaptaciu rucne:
$ ssh ubnt@IP-UNIFI-ZARIADENIA-NA-ADAPTACIU
defaultne heslo vyresetovaneho Unifi je ubnt
$ info
set-inform http:/10.0.3.30:8080/inform
Teraz by ti mala vyskocit v prehliadaci ziadost o adaptaciu zariadenia.