Umstieg von linuxserver/unifi-controller auf linuxserver/unifi-network-application


stulpinger
Go to solution Solved by plsr.50,

Recommended Posts

Hi@All,

 

der linuxserver/unifi-controller soll mit 1.1.2024 nicht mehr upgedated bzw. unterstützt werden (deprecated)

würde gerne jetzt schon auf 

linuxserver/unifi-network-application umsteigen bzw. migrieren

scheitere momentan an der externen Datenbank, d.h. mongodb, die ja, wenn ich es richtig verstanden habe, extra installiert werden muss/soll

die unifi-network-application sollte unter/mit einer "fixen" IP erreichbar sein, ident zum momentan einwandfrei laufenden unifi-controller nur halt andere IP, hab den Nginx Proxy Manager am Laufen, wegen diverser subdomains

 

bräuchte Hilfe/Unterstützung bzgl. der korrekten Installation der mongodb

 

bin eigentlich relativ firm bzgl. docker, aber diesmal ... 

 

LG

 

Christian

 

 

 

Link to comment

Hey, ich hatte vor nächste Woche mich mal an das Thema ranzusetzten , da ich erstens da Urlaub habe und zweitens auch noch 2 Unifi Access Points im alten Linuxserver image auf docker laufen habe...

 

Ich gucke mal wie es bei mir läuft und melde mich dann nochmal , falls du solange warten willst...


Gruss

Tobias

Link to comment

Hallo mich würde das auch interessieren habe das genau so gemacht wie im youtube video und habe es mit Compos.Manager Installiert. kenn mich auch noch nicht so gut aus weil der verwendet macvlan oder so und ich nicht. wenn ich auf update stack gehe läuft alles bis auf Container unifi.db Error.

 

Da kann doch nicht mehr viel fehlen hoffentlich.

 

Was ich noch für ein problem habe ist das ich im normalen unifi Controller die ap´s nicht adopting kann. Bitte um hilfe

Link to comment
  • Solution

Im Grunde genommen ist's relativ easy, wenn man so macht, wie von linuxserver.io vorgeschlagen (übertragen auf Unraid-Gegebenheiten):

 

  1. Vor dem Installieren des MongoDB-Containers Verzeichnis "mongodb" im Appdata-Ordner erstellen
     
  2. Darin dann die init-mongo.js erstellen (nano init-mongo.js ), mit folgendem Inhalt (Passwort austauschen):
    db.getSiblingDB("unifi").createUser({user: "unifi", pwd: "HIER STEHT MEIN PASSWORT", roles: [{role: "dbOwner", db: "unifi"}]});
    db.getSiblingDB("unifi_stat").createUser({user: "unifi", pwd: "HIER STEHT MEIN PASSWORT", roles: [{role: "dbOwner", db: "unifi_stat"}]});
  3. Danach den MongoDB-Container in Unraid installieren. Vorher jedoch noch einen zusätzlichen Pfad anlegen (wie im angehängten Bild)
     

  4. Dann den linuxserver-io network application Container installieren. Hier beachten:
    - MONGO_HOST sollte die IP vom Unraid sein, hat sonst bei mir nicht funktioniert.
    - Wenn so gemacht wie oben: MONGO_USER: unifi, MONGO_DBNAME:: unifi, MONGO_PASS: <wie vergeben>
    - Rest wie vordefiniert.
     

  5. Backup einspielen, fertig.
     

  6. Edit: Hier noch den Punkt "Device Adoption" beachten (IP von Unraid eintragen in der network-application):
    https://hub.docker.com/r/linuxserver/unifi-network-application

     

Bildschirmfoto 2023-11-19 um 12.31.12.jpg

Edited by plsr.50
  • Like 1
  • Thanks 1
Link to comment

Hi,

 

Danke für den Tipp bzgl. IP eintragen ...

 

erster Versuch mit "Network Type: Bridge" für beide Container hat leider nicht funktioniert, keine Ahnung warum

 

Nachdem ich auf der Synology mit macvlan bzw. auch auf unRAID (indirekt, siehe weiter unten) gerne damit arbeite (in weiterer Folge Zugriff per diverser subdomains per nginx proxy manager), um diverse Port-Konflikte zu vermeiden, ist meine funktionierende Lösung:

 

unter Docker-Settings (war vorher schon so eingestellt):

 

Docker custom network type: macvlan

Host access to custom networks: enabled

 

ja, ich weiss, widerspricht dessen, dass Container untereinander eigentlich nicht kommunizieren sollen/sollten 

 

mongodb hat eine eigene IP bekommen : 192.168.0.28

unifi controller hat eine eigene IP bekommen: 192.168.0.29, hoffe es hackt mich niemand 🙃

 

beim unifi controller noch bei MONGO_HOST 192.168.0.28 😎 eingetragen, nochmals Danke für den Tipp, irgendwie im nachhinein logisch ...

 

Backup eingespielt und das ganze funktioniert wunderbar ... werde es natürlich beobachten 😎

 

d.h. meine Syno ist wieder einen Schritt näher Richtung "Datengrab", Rest soll ja auf unRAID laufen

 

Nächstes Projekt bzgl. Datengrab, nextcloud, hab da momentan noch Probleme bzgl. upload-Grösse, aber das ist eine andere Geschichte

Weiteres Projekt bzgl. Datengrab, plex mit den Videos auf der Syno, hab da noch Probleme mit der Aktualisierung, wenn neue Videos hinzukommen, auch wieder eine andere Geschichte

 

LG aus Kärnten

 

 

 

 

 

Link to comment
  • 2 weeks later...

ui, gute Frage, vom logischen her, würde ich sagen ja, weil ja mit dieser Datei ein User inkl. Passwort in der DB erstellt wird, und dann die Datei eigentlich nicht mehr benötigt wird ... wird ja nur beim erstmaligen Start der DB benötigt

 

aber der Pfad tut ja eigentlich nicht "weh" bzw. die Datei braucht ein paar Bytes 🙂

 

würde auf jeden Fall die Datei "sichern", inkl. Screenshot des Pfades, falls mal eine Neuinstallation fällig wird ...

 

verwende auch die latest MongoDB, obwohl nicht offiziell unterstützt, aber das ganze hat diverse Updates überstanden, also nrnf, no risk no fun 😎

 

 

 

  • Like 1
Link to comment
  • 2 months later...

Hallo, eine Frage ich hab es genau mit der Anleitung versucht den neuen Docker Inbetriebzunehmen aber leider ohne Erfolg!

 

Ich habe den starken Verdacht das Mongodb mein init file nicht ein liest , kann mir jemand sagen wie ich das überprüfen könnte?

 

Danke im voraus

 

Link to comment

ist bei mir schon wieder ewig her, wo ich es konfiguriert habe

 

nachdem ich wusste, dass das Verzeichnis für die MongoDB mongodb heißt d.h /mnt/user/appdata/mongodb/

habe ich vorher das Verzeichnis erstellt und die init-mongo.js (siehe weiter unten) dort reinkopiert

 

wichtigster Teil bei der MongoDB ist das Hinzufügen des Path

 

Config Type: Path

Name: was Du willst, bei mir "init"

Container Path: /docker-entrypoint-initdb.d/init-mongo.js

Host Path:  /mnt/user/appdata/mongodb/init-mongo.js

 

Die init-mongo.js sieht wie folgt aus, für user: unifi, pwd: Passwort

 

db.getSiblingDB("unifi").createUser({user: "unifi", pwd: "Passwort", roles: [{role: "dbOwner", db: "unifi"}]});
db.getSiblingDB("unifi_stat").createUser({user: "unifi", pwd: "Passwort", roles: [{role: "dbOwner", db: "unifi_stat"}]});

 

beim erstellen des unifi-network-application Dockers

 

MONGO_USER: unifi

MONGO_PASS: Passwort

MONGO_DBNAME: unifi

MONGO_HOST: IP Deines unRAID

Rest so lassen wie es vorgeschlagen wird

 

Achtung ! Ich arbeite mit fixen IP-Adressen für die zwei Container (Stichworte: macvlan, bridging), weil es könnte sonst zu "Überschneidungen" mit Port 8080 mit anderen Containern kommen, weil 8080 gerne verwendet wird und ich mir die "leidige" frei Port-Suche erspare ...

d.h.  Host Port zB auf 8081 setzen, wird dann auf Container-Port 8080 "umgebogen"

 

Bitte um Korrektur seitens der Mit-Leser, falls ich was falsches schreibe, wegen "umbiegen"

 

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.