Unifi Protect im Docker Container in einer arm64 Debian VM installieren
- apt install docker.io
Nun Docker volumes anlegen. unifi braucht zwei persistent Volumes.Das erste für die Datenbank, das zweite für die Videoaufnahmen.docker volume create unifi-protect docker volume create unifi-protect-postgresqlgdiskStandarmäßigNunspeichereineDockerweiterealleFestplatteVolumeshinzufügeninund/var/lib/docker/volumesdiese Partitionieren wenn nicht schon geschehenmöchteMitmanlsbkdasdieImageneuefürFestplatteunifi-prtotect woanders hin haben wo mehr platz ist dann
ermittelndockeroot@unnvr:~#volumelsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 32G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi ├─sda2 8:2 0 30.5G 0 part / └─sda3 8:3 0 976M 0 part [SWAP] sdb 8:16 0 256G 0 disk sr0 11:0 1 329.3M 0 romsdb ist die gewünschte Festplatte
nun partitonieren
gdisk /dev/sdb dann o eingeben für neues layout dann n eingeben für eine neue partition alles durchentern nun w für schreiben und exitNun Dateisystem ext4 erzeugen auf sdb1
mkfs.ext4 /dev/sdb1Nun ein verzeichnis für den mount point erstellen
mkdir /unvrNun die part UUID auselsen
blkid /dev/sdb1 /dev/sdb1: UUID="a396f93a-305e-4412-9040-5c51c9203f78" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="c9c72c32-250f-4b08-b74f-0aadc682d313"Nun ahben wir die UUID. Mit dieser serstellen wir einen automount in der fstab.
nano /etc/fstabDort tragen wir unsere UUID ein dann das Mountverzeichnis das Dateisystem
... UUID=a396f93a-305e-4412-9040-5c51c9203f78 /unvr ext4 defaults,errors=remount-ro 0 1 ...testen des mount points.
Wenns geklappt hat können wir mitmount /unvrdie Festplatte mounten.
Das Ergebnis ob gemountet sehen wir durch lsblklsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 32G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi ├─sda2 8:2 0 30.5G 0 part / └─sda3 8:3 0 976M 0 part [SWAP] sdb 8:16 0 256G 0 disk └─sdb1 8:17 0 256G 0 part /unvr sr0 11:0 1 329.3M 0 romFehler:
Wenn wir folgende Fehler bekommenr (or any systemd error):
Failed to create-o/init.scopetype=nonecontrol-ogroup:o=bindRead-only-ofiledevice=/meinpfadmitviel/speichersystemunifi-protectFailedBeispieltodockerallocatevolumemanagercreateobject:-oRead-onlytype=nonefile-osystemo=bind[!!!!!!]-oFaileddevice=/mnt/externehddtounifi-protectallocate manager object. Exiting PID 1...Die Grub config um diesen Eintrag erweitern.
/etc/default/grubInhalt:
GRUB_CMDLINE_LINUX_DEFAULT="systemd.unified_cgroup_hierarchy=0" Sollten schon andere parameter drin stehen diese logischerweise hinzufügen und nicht ersetzten...Optional kann auch ein eigenes VLAN in unserem Fall ein VLAN 100 Erstellt werden wo derRekorder (Unserer Docker Protect) und die Kameras rein kommen.docker network create \ --driver macvlan \ --subnet 192.168.100.0/24 \ --gateway 192.168.100.1 \ --opt parent=eth0.100 \ videoNun nur noch ausführen. Im befehl die IP Anpassendocker run \ --name unifi-protect \ --ip 222.222.1.170 \ -v unifi-protect:/srv/unifi-protect \ -v unifi-protect-postgresql:/var/lib/postgresql \ --tmpfs /tmp \ iamjamestl/unifi-protectoder Optional mit nem eigenen Netz für Video muss noch der Netzname angebenen werden. Wie wir ihn oben erstellt haben. In unserem Beispiel Videodocker run \ --name unifi-protect \ --net video \ --ip 222.222.1.170 \ -v unifi-protect:/srv/unifi-protect \ -v unifi-protect-postgresql:/var/lib/postgresql \ --tmpfs /tmp \ iamjamestl/unifi-protectNach dem starten kann die Weboberfläche überhttp://<ip-of-the-container>:7080/geöffnet werden.
Beschreibung:
Unifi UNVR im Docker installierenConatiner auf einem ARm64 Host. Wir können einmal das Image aus dem Docker Hub Pullen oder uns auch ein eigenes Image bauen. Erstmal die Variante mit dem Pullen.
Vorraussetzung:
Einmal ein arm64 Host in dem Docker installiert ist.
Eine zweite HDD mindesten 128 GB groß. würde aber eine Größe wählen die größer ist. Unbedingt eine Partioion und ext4 so kann sie on the fly vergrößert werden.
Installation Docker, als root per ssh einloggen
apt install docker.io