UniFi Controller Installation auf einer Synology NAS

Bedingt durch den Umzug in ein Eigenheim inkl. Netzwerkverkabelung und neuer LAN/WLAN Infrastruktur habe ich meine Netzwerk-Komponenten vom Hersteller Ubiquiti (UniFi) bezogen. Damit die Komponenten miteinander interagieren benötigt man einen UniFi Netzwerk-Controller, entweder als kleine „Appliance“, als Cloud Lösung (https://unifi.ui.com) oder als Software. Ich habe mit für die letzte Lösung entschieden, um den Controller On-Premise zu halten.

Basis für meine Installation ist der UniFi Controller 6.0.43 und Synology DSM 6.2.3.

Docker Installation

Falls noch nicht geschehen, muss zuerst Docker auf der Synology installiert werden. Dazu öffnet man in DSM das Package Center und sucht nach Docker zur Installation. Nachdem die Installation beendet ist, lässt sich Docker direkt über das Package Center öffnen oder über das DSM Menü.

Package Center -> Docker

Package Center -> Docker

UniFi Container Installation

In der Docker Konsole lade ich mir als erstes das UniFi Image herunter. Dazu wechsle ich in den Menüpunkt Registry und suche im Search Fenster nach „unifi“. Eines der Ergebnisse lautet jacobalberty/unifi. Dieses Image lade ich jetzt herunter.

Docker -> Registry

Docker -> Registry

Ist der Download abgeschlossen, wechsle ich in den Menüpunkt Image und starte einen neuen Container mit Launch.

Docker -> Image

Docker -> Image

Nun öffnet sich das Konfigurationsfenster für den neuen Container. Hier gebe ich dem Container einen Namen und limitiere die Ressourcen-Nutzung (je nach Modell kann hier natürlich etwas mehr RAM zugewiesen werden). Für die weitere Konfiguration klicke ich auf den Button Advanced Settings.

Docker -> Create Container -> General Settings

Docker -> Create Container -> General Settings

Als erstes sorge ich im Reiter Advanced Settings dafür, dass der Container nach einem Neustart der Synology auch automatisch wieder mitgestartet wird.

Docker -> Create Container -> Advanced Settings

Docker -> Create Container -> Advanced Settings

Im Reiter Volume verbinde ich jetzt einen Ordner und mounte ihn in den Container als /unifi. In diesem Ordner werden persistente Container-Daten gespeichert, damit auch nach einem Versionsupdate (siehe später) die Konfiguration des Controllers erhalten bleibt.

Docker -> Create Container -> Volume

Docker -> Create Container -> Volume

Im Reiter Network wähle ich die Option Use the same network as Docker Host aus. Möchte man die Ports des UniFi Controllers auf alternative Ports ändern (z.B. die Web GUI), wählt man in diesem Fenster statt der Checkbox das bridge Netzwerk aus und konfiguriert das Mapping der Local Ports und der Container Ports für die UniFi Ports, die weiter unten im Beitrag genannt sind.

Docker -> Create Container -> Network

Docker -> Create Container -> Network

Jetzt wechsle ich noch auf den letzten Reiter Environment und ändere die 2 Parameter BIND_PRIV und RUNAS_UID0 von true auf false.

Docker -> Create Container -> Environment

Docker -> Create Container -> Environment

Danach ist die Container Konfiguration beendet und kann mit Apply abgeschlossen werden. Den Container starte ich automatisch, wenn der Wizard beendet ist.

Docker -> Create Container -> Zusammenfassung

Docker -> Create Container -> Zusammenfassung

Ist der Container fertig hochgefahren, lässt sich das Webinterface des Controllers erreichen über die URL https://<Synology-IP>:8443.

Sonstige Anpassungen

DSM Firewall

Falls auf der Disk Station die Firewall aktiv ist, müssen im aktiven Profil folgende Ports freigeschaltet werden:

  • TCP/8443: Web GUI
  • TCP/8080: Device/Controller Communication
  • TCP/8880: HTTP Portal Redirection
  • TCP/8843: HTTPS Portal Redirection
  • TCP/6789: UniFi Mobile Speed Test
  • UDP/3478: STUN (optional, für UniFi VoIP Telefone)
  • UDP/10001: Device Discovery
  • UDP/1900: Layer 2 Network Discovery
  • UDP/5514: Remote Syslog Capture (optional)

Geräte-Registrierung

Im Normalfall läuft der Controller nach der Einrichtung zwar problemlos, man wird aber feststellen, dass sich keine Geräte am Controller melden. Grund hierfür ist, dass sich die Geräte werksseitig bei der URL http://unifi:8080/inform melden, die NAS aber in den seltensten Fällen den Hostnamen UNIFI hat.

Die am häufigsten gefundene Methode im Internet ist es, sich auf das jeweilige Gerät per SSH zu verbinden und die Registrierungs-URL wie folgt zu ändern:

set-inform http://<Synology-IP/-Hostname>:8080/inform

Funktioniert das: Yepp!
Ist das charmant: Nope!
Geht das besser: Klaro!

Stellt euch vor, ihr habt eine etwas größere UniFi Umgebung mit 100 oder mehr Geräten. Will man sich wirklich auf unzähligen Geräten händisch einloggen, um die Registrierungs-URL anzupassen? Eher nicht. Wer eine entsprechend große Anzahl an Geräten hat, hat sicher auch eine weitergehende IT-Infrastruktur in Betrieb – inkl. einem eigenen internen DNS-Server.

Dieser kann entsprechend genutzt werden, um den Hostnamen UNIFI im Netzwerk verfügbar zu machen. Hierzu gibt es 2 Optionen:

  • CNAME-Record UNIFI mit Alias auf den Hostname der Synology NAS
  • A-/AAA-Record UNIFI mit der IPv4-/IPv6-Adresse der Synology NAS

Ist der Hostname UNIFI im Netzwerk verfügbar und auflösbar klappt’s auch mit dem automatischen Deployment von UniFi Geräten ohne manuelle Anpassungen.

Versionsupdate

Da der UniFi Controller jetzt ein Docker Image ist, lässt sich kein Update direkt in der UniFi Web UI durchführen. Stattdessen muss der Container selbst getauscht werden. Das funktioniert ähnlich wie die Neuinstallation und ist recht einfach:

  • aktuelles (neues) Image für UniFi herunterladen
  • UniFi Controller Konfiguration über die Web GUI sichern und herunterladen (zur Sicherheit)
  • laufenden Container stoppen
  • Container auswählen und mit Action -> Clear alle Daten löschen (die Konfiguration bleibt erhalten durch den gemounteten Ordner!)
  • Container wieder starten

Danach ist die UniFi Version des Containers aktualisiert.


Quellen:
https://help.ui.com/

4 Antworten

  1. Karl sagt:

    Hallo,

    vielen Dank für diese Anleitung…..ich habe nun eine Frage:

    Nachdem ich alles soweit konfiguriert habe komme ich auf die Anmeldeseite

    „Sign in with your Ubiquiti Account“

    wenn ich hier meine Accountdaten eingebe kommt immer wieder invalid User oder Passwort?

    Ich komme aber mit diesen Anmeldedaten ohne Probleme auf den Controller über die PC-Anwendung.

    Ideen was ich falsch mache?

    • Hallo Karl
      Vielen Dank für deinen Kommentar. Deinen Fehler habe ich leider noch nicht gesehen. Ich selbst verwende einen lokalen Admin User und kein Ubiquiti Account (brauche die „Cloud Features“ nicht). Habe aber schon gesehen, dass auch ein Ubiquiti Account funktioniert. Könnte mir das nur mit einem Bug in der aktuellen Version erklären.
      Gruß
      Andreas

  2. Jochen sagt:

    Hallo, DAnke für die Anleitung – bei mir kommt immer der Fehler „Docker-Container unifi-controller wurde unerwartet gestoppt“. Woran kann das liegen? Danke und viele Grüße

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.