Ubiquiti Unifi Network Application: Unterschied zwischen den Versionen

Aus TippvomTibb
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „=Allgemeines= Nachdem ich die Erstinstallation von meinen Ubiquiti-WLAN-Netzwerk (Secure Gateway, 4 APs und 1 Bridge) an einem Windows PC vorgenommen habe, emp…“)
 
Zeile 22: Zeile 22:
  
 
Da sowohl die MongoDB als auch der Unifi Network Application Server (UNAS) als DockerImage angeboten werden habe ich diesen Weg eingeschlagen, um den Anpassungproblemen der MongoDB Version und der Java Umgebung für den UNAS aus dem Weg zu gehen.
 
Da sowohl die MongoDB als auch der Unifi Network Application Server (UNAS) als DockerImage angeboten werden habe ich diesen Weg eingeschlagen, um den Anpassungproblemen der MongoDB Version und der Java Umgebung für den UNAS aus dem Weg zu gehen.
 +
 +
 +
Da ich bisher noch nicht ernsthaft mit docker gearbeitet hatte, nutze ich gleich die Gelegenheit hier nuetzlich Erfahrungen zu sammeln.
 +
 +
Zu Beginn sind erst einmal nur Downloads zumachen. Zusaetzlich habe ich aber trotz des MongoDB-Docker-Image auch noch die MongoDB native auf dem Server installiert. https://www.mongodb.com/docs/v4.4/tutorial/install-mongodb-on-suse/
 +
 +
Die MongoDB Downloads von mongodb.org waren irgendwie unvollstaendig.
 +
 +
==Download==
 +
Die MongoDb steht nicht im Linuxserver.io-Fleet (https://fleet.linuxserver.io/) wird aber per pull vom DockerHub geliefert.
 +
 +
docker pull linuxserver/unifi-network-application
 +
 +
docker pull mongo:4.4
 +
 +
Da der UNAS nicht ohne eine funktionierende MongoDB-Installation starten will, kommt sie zuerst dran.
 +
 +
[https://hub.docker.com/_/mongo Hier] die Doku.
 +
 +
==Erste Schritte==
 +
===Docker Images===
 +
Mit
 +
docker images
 +
 +
kann man sich ueber die vorhanden Images ein Bild machen. Dabei koennen ruhig mehrere Images mit gleichem Name, aber unterschiedlichen Versionen (TAG) vorliegen. Die ImageID macht sie eindeutig.
 +
 +
docker image ls
 +
 +
hat die gleiche Wirkung.
 +
Mit
 +
docker image help
 +
 +
lassen sich alle Kommandos sehen. Dabei sind erst einmal 2 von besonderem Nutzen.
 +
 +
docker image rm <Image Name>
 +
 +
und
 +
 +
docker image prune
 +
 +
Aus den Images lassen sich jetzt Container erstellen.
 +
 +
===Docker Container==
 +
Mit
 +
docker run ...
 +
 +
kann man nun aus einem vorhandenen Image einen "laufenden" Container erzeugen, Wenn man will auch mehrere parallel. Neben den vielen Optionen die 'docker run' anbietet, empfehle ich '--name -it'.
 +
 +
Man kann zwar den (eigenen) Namen auch weglassen, dann wird er von docker automatisch per Zufall vergeben, wie z.B. flamboyant_rosalind ;-)
 +
 +
Die beiden Optionen
 +
-i  --interactive                    Keep STDIN open even if not attached
 +
-t  --tty                            Allocate a pseudo-TTY
 +
erlauben es aehnlich wie per ssh auf die bash-console des laufenden Containers zu verbinden. Das kann nuetzlich sein, um ein wenig umherzustoebern. Aenderungen an der Installation werden dardurch zwar moeglich aber mangels oft nicht installierter Editoren erschwert und zudem wird eine derartige Anpassung auch nicht empfohlen.
 +
 +
Mit
 +
docker run (-itd) (--name MeineMongoDB) mongo:4.4
 +
kann man nun der Container beim ersten mal starten, da er run auch gleichzeitig erzeugt wird. Der Conteiner laesst sich dann spaeter, nach der Erzeugung, mit
 +
 +
docker container start/stop/restart/stats/.... <name>
 +
 +
bedienen.
 +
 +
Wenn der MongoContainer gestartet wurde, sollte standardmaessig auf Port 27017 eine Kontaktaufnahme gelingen.

Version vom 25. Dezember 2023, 10:36 Uhr

Allgemeines

Nachdem ich die Erstinstallation von meinen Ubiquiti-WLAN-Netzwerk (Secure Gateway, 4 APs und 1 Bridge) an einem Windows PC vorgenommen habe, empfinde ich es mittlerweile als laestig jedesmal wenn ich im Netzwerk etwas nachschauen moechte den Windowsrechner anzuschalten und den Unifi Network Server, mittlerweile in der Version 8.0.24, zu starten und mich im Browser einzuloggen.

Zu Anfang gleich was zur Begriffsverwirrung

Die "Kurzbezeichnung" der Managing Software (Streamlined Network Management) ist Network Server. Die Software wird oftmals als Unifi Controller benannt.

Im DockerHub ist folgender Eintrag zum unifi-controller zu finden.

From 2024-01-01 this image will be deprecated and it will no longer be updated. Please migrate to our Unifi Network Application image instead

Deprecation Note

Interessanterweise hat dieses (auslaufende) Image immer noch deutlich mehr Downloads als das Unifi Network Application Image. Ich benutze natuerlich hier das unifi-network-application Image.

Das Original findet man unter https://ui.com/download/releases/network-server.

Unifi OS

Ganz aktuell ist es seit Version 8 (20.11.2023 V8.0.7) auch moeglich den Server auf UnifiOS-Maschinen (DreamMachine,...) laufen zu lassen. Das werde ich bei Gelegenheit testen. Noch habe ich keine entsprechende Hardware.

Installation auf meinen SmartHome (FHEM) Linux Server

Man benoetigt zum Betrieb eine MongoDB und die Network Application Software. Die MongoDB wird in den Versionen 3.6 bis 4.4 empfohlen. Abgesehen davon, dass alte Versionen oft bei der Installation zicken, ist sie auch in den Reposotories von openSuSE nicht vorhanden.

Da sowohl die MongoDB als auch der Unifi Network Application Server (UNAS) als DockerImage angeboten werden habe ich diesen Weg eingeschlagen, um den Anpassungproblemen der MongoDB Version und der Java Umgebung für den UNAS aus dem Weg zu gehen.


Da ich bisher noch nicht ernsthaft mit docker gearbeitet hatte, nutze ich gleich die Gelegenheit hier nuetzlich Erfahrungen zu sammeln.

Zu Beginn sind erst einmal nur Downloads zumachen. Zusaetzlich habe ich aber trotz des MongoDB-Docker-Image auch noch die MongoDB native auf dem Server installiert. https://www.mongodb.com/docs/v4.4/tutorial/install-mongodb-on-suse/

Die MongoDB Downloads von mongodb.org waren irgendwie unvollstaendig.

Download

Die MongoDb steht nicht im Linuxserver.io-Fleet (https://fleet.linuxserver.io/) wird aber per pull vom DockerHub geliefert.

docker pull linuxserver/unifi-network-application
docker pull mongo:4.4

Da der UNAS nicht ohne eine funktionierende MongoDB-Installation starten will, kommt sie zuerst dran.

Hier die Doku.

Erste Schritte

Docker Images

Mit

docker images

kann man sich ueber die vorhanden Images ein Bild machen. Dabei koennen ruhig mehrere Images mit gleichem Name, aber unterschiedlichen Versionen (TAG) vorliegen. Die ImageID macht sie eindeutig.

docker image ls 

hat die gleiche Wirkung. Mit

docker image help

lassen sich alle Kommandos sehen. Dabei sind erst einmal 2 von besonderem Nutzen.

docker image rm <Image Name>

und

docker image prune

Aus den Images lassen sich jetzt Container erstellen.

=Docker Container

Mit

docker run ...

kann man nun aus einem vorhandenen Image einen "laufenden" Container erzeugen, Wenn man will auch mehrere parallel. Neben den vielen Optionen die 'docker run' anbietet, empfehle ich '--name -it'.

Man kann zwar den (eigenen) Namen auch weglassen, dann wird er von docker automatisch per Zufall vergeben, wie z.B. flamboyant_rosalind ;-)

Die beiden Optionen

-i   --interactive                    Keep STDIN open even if not attached
-t   --tty                            Allocate a pseudo-TTY

erlauben es aehnlich wie per ssh auf die bash-console des laufenden Containers zu verbinden. Das kann nuetzlich sein, um ein wenig umherzustoebern. Aenderungen an der Installation werden dardurch zwar moeglich aber mangels oft nicht installierter Editoren erschwert und zudem wird eine derartige Anpassung auch nicht empfohlen.

Mit

docker run (-itd) (--name MeineMongoDB) mongo:4.4

kann man nun der Container beim ersten mal starten, da er run auch gleichzeitig erzeugt wird. Der Conteiner laesst sich dann spaeter, nach der Erzeugung, mit

docker container start/stop/restart/stats/.... <name>

bedienen.

Wenn der MongoContainer gestartet wurde, sollte standardmaessig auf Port 27017 eine Kontaktaufnahme gelingen.