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.