Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

Linux [How-To] Unifi Controller via docker-compose aufsetzen

Hallo zusammen,

als steilen Einstand (ist mein erster Post) möchte ich gleich mal eine Anleitung loswerden. Die Installation eines WLAN-Controllers kann für viele Nutzer, gerade wenn diese des Englischen nicht so sehr mächtig sind, eine schwer überwindbare Hürde darstellen und wird bestimmt schon den einen oder anderen davon abgehalten haben, sich überhaupt einen Unifi WLAN Accesspoint zuzulegen. Völlig zu unrecht! Die Dinger sind schweinegut und einen Controller zu installieren ist eigentlich super easy. Hier beschreibe ich einen Quick&Dirty-Ansatz ohne spezielle Härtung. Das bedeutet: Es reicht für den Hausgebrauch. Komme bitte nicht auf die Idee, das hier auf einem Cloudserver oder sonstwie offen am Internet zu betreiben.

Gebraucht wird folgendes:
* Linux-Installation (egal ob auf einem PC, in einer VM oder auf einem Raspberry Pi)
* Internetverbindung (nur zum Download der Images)
* Unifi WLAN AP (oder zumindest die Vorfreude darauf)

Los geht's:
1. Als Basis könnt ihr eine Linux-Distribution eures Geschmacks verwenden. Das kann Debian/Raspbian sein, ebenso gut aber auch CentOS oder was anderes. Wichtig ist, dass docker-ce für die Distribution verfügbar ist
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
und dass ihr Root-Zugriff auf das System habt. Beschrieben wird hier Debian/Raspbian, es sollte auf Ubuntu aber analog funktionieren. Ich empfehle, dass ihr euch per SSH an das Linux-Gerät verbindet (z.B. von Windows aus über PuTTY). Dazu braucht ihr die IP-Adresse des Linuxsystems, welche ihr aus der Installation noch kennen solltet.
2. Login als Root. Raspbian-User: Login als pi / raspberry und dann ein beherzter
Bash:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
3. Erst mal saubermachen:
Bash:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
3a: Raspbian-Benutzer:
Bash:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
3b: Debian-Benutzer:
Bash:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
4 (optional): hello-world Container aufblasen als Funktionstest
Bash:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Die Ausgabe sollte so aussehen:

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!
5. Docker-Compose installieren:
Bash:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Zwischenstand: Hurra! Wir haben nun die Basis, um darauf sog. Docker-Compose-Stacks zu betreiben. Ein solcher Stack ist z.B. der Unifi-Controller.
6. Um den Stack anzulegen:
Bash:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
7. Ihr landet in einem Editor, der mit der Tastatur gesteuert wird. Hier gebt ihr folgendes ein:
Bash:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
8. Nun drückt den Buchstaben i auf der Tastatur und fügt (per Rechtsklick) folgendes ein:

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!
9. Gebt nun aufeinanderfolgend folgendes ein:
ESC --> : (Doppelpunkt) --> wq! --> EINGABETASTE / ENTER
10. Der Stack ist nun fertig. Zeit zum Runterladen:
Bash:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
11. Wenn das Runteladen und Entpacken durch ist:
Bash:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
12. Nach ein paar Minuten Bedenkzeit einen Browser öffnen und mit https://<ip-des-linuxsystems>:8443 die Oberfläche des Controllers öffnen. Die Zertifikatswarnung kann ignoriert werden (meistens gibt es unten auf der Warnseite einen Link, mit dem man das Laden fortsetzen kann). Ab dann kann der Controller ganz normal eingerichtet werden.

Hinzufügen von APs

Layer 2 Adoption

Das o.g. Beispiel für die docker-compose.yml setzt das Netzwerk für den Controller auf das des Linuxsystems (anstelle eines gebrückten Netzwerks). Das bedeutet, dass neue APs normalerweise einfach so hinzugefügt werden können sollten. Sollte das nicht gehen, gibt es noch folgende Methoden:

Layer 3 Adoption

The default example requires some l3 adoption method. You have a couple options to adopt.

Adoption IP erzwingen

Unter Settings -> Controller im Feld "Controller Hostname/IP" die IP-Adresse des Linuxsystems eingeben und einen Haken in "Override inform host with controller hostname/IP" setzen. Danach "save" klicken und in einer Root-Sitzung "docker-compose -f /opt/docker-compose-stacks/unifi_wlan/docker-compose.yml restart" eingeben.


SSH Adoption

Die schnellste Methode, einen AP anzulernen, ist diesen direkt über die Adresse des Controllers zu informieren. Dazu den AP anschließen, seine IP herausfinden (das geht in der Oberfläche eures Routers), sich per SSH auf diese IP verbinden (z.B. über PuTTY) und folgendes ausführen:

mca-cli
set-inform http://<linuxsystem-ip>:8080/inform

Weitere Möglichkeiten

Die Möglichkeiten, einen AP aufzunehmen, findet ihr auf der
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
.

Update des Controllers
Das Update ist denkbar einfach:
Bash:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Änderungshistorie:
14.04.2021 - 13:04 Uhr - Compose-Version auf 3 geändert wegen network_mode
 
Hallo und herzlich Willkommen bvlgy im Forum,

das nenne ich mal einen ersten gelungenen Post!

Ist die Anleitung von dir selber erstellt worden, oder woher hast du sie?

VG Gatzi
 
Die habe ich selber erstellt, weil ich gestern etwas Pflege an meinem Controller betrieben habe und mir beim Durchsehen der Foren hier dachte, dass sowas irgendwie noch fehlt. Einzig die Adoption-Methoden habe ich grob übersetzt aus dem Git-Repository des Menschen, der das Docker-Image der Unifi-Controller bereitstellt:
Du musst dich Anmelden oder Registrieren um diesen link zusehen!

Mit Docker-Compose lassen sich noch viel schönere Schweinereien anrichten (gerade auch wenn man ein Homelab betreibt und so Dinge wie einen DNS im Netzwerk hat). Bin da innerhalb der letzten paar Monate echt auf den Geschmack gekommen.
 
Hi, danke für die Anleitung. Kann ich das damit gleichzeitig mit einem Open VPN Server auf einem Raspberry laufen lassen?

Habe z.zt den Controller nur auf einem Windows PC kaufen, wenn ich was ändern will. Der muss ja nicht permanent laufen. Wäre aber schön wenn.
Danke und Gruß

Gesendet von meinem LM-V450 mit Tapatalk
 
Hi,
absolut kein Problem, solange der OVPN Server keinen dieser Ports belegt:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Hat schon ein paar Vorteile, wenn der Controller dauernd läuft. Man kann z.B. rückwirkend sehen, was immer so los war :)

Grüße
bvlgy
 
Zurück
Oben