Verwenden von Docker

Verwenden von Docker

Ich habe vor Kurzem zwei UniFi nanoHD-Zugangspunkte gekauft, aber keinen Cloud Key. Wie kann ich die UniFi Network Application (früher UniFi Network Controller genannt) auf meinem macOS-Computer ausführen?

Antwort1

Mir sind zwei verschiedene Möglichkeiten bekannt, wie dies zu tun ist.


Verwenden von Docker

Dies könnte eine gute Option sein, wenn Sie bereits mit Docker vertraut sind, aber ansonsten lohnt sich der Lernaufwand möglicherweise nicht. Es scheint, dass es zwei gut gepflegte Docker-Images für die UniFi-Netzwerkanwendung gibt.

Damit die Übernahme funktioniert, wenn sie in Docker ausgeführt wird, sind zusätzliche Anstrengungen erforderlich. Der Standardnetzwerktyp für Docker (Bridge) bedeutet, dass Container im Netzwerk nicht zugänglich sind. Für die Übernahme auf Layer 2 wird in der Dokumentation für Jacob Albertys Image die Verwendung von Host Networking oder des Macvlan-Netzwerks erwähnt. Ich habe Host Networking mit diesem Docker-Image in Linux verwendet und es funktioniert gut, aber zum Zeitpunkt des Schreibens dieses Artikels (10.04.2022) ist Host Networking in macOS Docker Desktop nicht verfügbar. Ich habe nicht versucht, Macvlan zu verwenden, aber es könnte gut funktionieren (mit beiden Images, obwohl die LinuxServer.io-Dokumentation es nicht erwähnt). Für die Übernahme auf Layer 3 müssen Sie anscheinend die IP des Docker-Hosts in den Einstellungen der UniFi Network Application eingeben (die Dokumentation für beide Docker-Images enthält Einzelheiten dazu, wo die Einstellung zu finden ist).

Das Jacob-Alberty-Image scheint eine gewisse Unterstützung für die Angabe eines https-Zertifikats zu bieten. Ich habe es nicht ausprobiert, aber wenn die Verwendung eines von Ihrem Browser vertrauenswürdigen Zertifikats für Sie wichtig ist, könnte dies ein Grund sein, sich für das Jacob-Alberty-Image zu entscheiden.


Native Installation

Das funktioniert gut und ist nicht übermäßig schwierig zum Laufen zu bringen, aber esIstleider mehr Arbeit als es sein müsste.

  1. Laden Sie Ihre bevorzugte Version herunter

    Suchen Sie nach „UniFi Network Application [Version] für macOS“ aufdie Unifi-Download-Seite. Wenn Sie keine Präferenz haben, nehmen Sie die neueste Version.

  2. Netzwerkanwendung installieren

    Suchen Sie im Finder nach UniFi.pkg. Halten Sie die Strg-Taste gedrückt und klicken Sie auf Open with...→ Installer. Ohne diese Option beschwert sich macOS, dass „‚UniFi.pkg‘ nicht geöffnet werden kann, da Apple es nicht auf Schadsoftware prüfen kann.“ Wählen Sie dann bei entsprechender Aufforderung „Öffnen“ und fahren Sie mit dem Installationsprogramm fort.

  3. Installieren Sie Java 11

    Hinweis vom 27.08.2023: Sie können versuchen, diesen Schritt zu überspringen – er ist möglicherweise nicht mehr erforderlich. Ich konnte Version 7.4.162 installieren und ich glaube, ich habe Java nicht installiert, also ist es möglicherweise jetzt gebündelt. Oder ich könnte mich irren. In den Versionshinweisen sehe ich nichts darüber.

    Hinweis: Versionen vor 7.3.x erforderten Java 8. Wenn Sie sich also für die Installation einer älteren Version der Netzwerkanwendung entschieden haben, lesen Sieeine frühere Überarbeitung dieser Antwortfür Hinweise zur Installation von Java 8 sowie den Befehl zum Starten älterer Versionen der Netzwerkanwendung.

    Für die Versionen 7.3.x und neuer benötigen Sie Java 11. (Stand 13.01.2023 heißt es in den Versionshinweisen: „Java 12 und höher werden noch nicht unterstützt.“ Vermutlich werden auch Java 13 bis 19 nicht unterstützt.)

    Die Installation mit Homebrew ist einfach:

    1. Folge demAnweisungen zur Installation von Homebrewfalls Sie es noch nicht haben.
    2. Führen Sie in einem Terminal aus brew install openjdk@11. Bei mir wurden dadurch ebenfalls 24 Abhängigkeiten installiert.
    3. Erstellen Sie, wie in der Ausgabe des obigen Befehls vorgeschlagen, einen symbolischen Link, damit die Java-Wrapper des Systems dieses JDK finden können:sudo ln -sfn /usr/local/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
  4. Sicherheitseinstellungen anpassen

    Hinweis: Diese Anweisungen haben sich aufgrund der Überarbeitung der Einstellungen in macOS 13 Ventura erheblich geändert. Sie könneneine frühere Überarbeitung dieser Antwortzur Anleitung zu macOS 12 und älter. Beachten Sie jedoch auch, dass diese Anweisungen für neuere Versionen der Netzwerkanwendung und Java 11 möglicherweise ungenau sind.

    1. Navigieren Sie zu Systemeinstellungen → Netzwerk. Wählen Sie Firewall und klicken Sie auf die Options...Schaltfläche. Stellen Sie sicher Block all incoming connections, dass es ausgeschaltet ist. Es sind keine weiteren Änderungen erforderlich. Klicken Sie zum Speichern auf OK.

      Einige Anmerkungen:

      • Wenn Automatically allow downloaded signed software to receive incoming connectionsaktiviert, reicht dies aus, um Netzwerkanwendungen Zugriff zu gewähren.
      • Wenn Automatically allow downloaded signed software to receive incoming connectionsdeaktiviert ist, werden Sie beim Starten der Netzwerkanwendung aufgefordert, eingehende Verbindungen zuzulassen.
      • Das proaktive Hinzufügen Applications/UniFizur Liste der Apps mit zulässigen eingehenden Verbindungen scheint nicht zu funktionieren. Ich weiß nicht, warum. Aber es ist nicht wichtig – macOS wird Sie bei Bedarf später darauf hinweisen.
      • Anstatt der oben genannten Firewall-Änderungen könnten Sie Ihre Firewall auch komplett ausschalten, aber das empfehle ich nicht. Firewalls bieten eine nützliche Schutzebene.
    2. Versuchen Sie, die Netzwerkanwendung zu starten. Sie können diesen Vorgang in Zukunft immer verwenden, wenn Sie sie starten müssen: Führen Sie entweder die UniFi-App aus dem Anwendungsordner aus oder verwenden Sie + Spaceund suchen Sie nach „UniFi“. Sie sollten diesen Fehlerdialog erhalten:

      Ein Screenshot eines macOS-Dialogfensters mit der Meldung „‚UniFi.app‘ ist beschädigt und kann nicht geöffnet werden. Sie sollten es in den Papierkorb verschieben. Diese Datei wurde an einem unbekannten Datum heruntergeladen.“ und Schaltflächen für „In den Papierkorb verschieben“ und „Abbrechen“
    3. „Beschädigt“ ist nicht korrekt – macOS verhindert lediglich, dass es richtig ausgeführt wird. Klicken Sie auf die Schaltfläche „Abbrechen“ und navigieren Sie dann zu „Systemeinstellungen“ → „Datenschutz und Sicherheit“. Scrollen Sie nach unten, vorbei an allen Anwendungen, und suchen Sie nach der Überschrift „Sicherheit“. Sie sollten den folgenden Dialog sehen:

      Ein Screenshot eines Einstellungsfensters für Datenschutz und Sicherheit von macOS mit dem Hinweis „Die Nutzung von ‚UniFi.app‘ wurde gesperrt, da es nicht von einem identifizierten Entwickler stammt.“ und einer Schaltfläche „Trotzdem öffnen“.
    4. Bestätigen Sie die Eingabe mit der Schaltfläche "Trotzdem öffnen". Sie erhalten einezweiteDialog, der besagt, dass die Anwendung beschädigt ist:

    Ein Screenshot eines macOS-Dialogfensters mit der Meldung „‚UniFi.app‘ ist beschädigt und kann nicht geöffnet werden. Sie sollten es in den Papierkorb verschieben. Diese Datei wurde an einem unbekannten Datum heruntergeladen.“ und Schaltflächen für „Öffnen“, „In den Papierkorb verschieben“ und „Abbrechen“
    1. Ich habe keine Ahnung, worüber sich macOS hier beschwert. Ignorieren Sie dies und klicken Sie auf die Schaltfläche „Öffnen“. (Randbemerkung: Dieser Bereich der macOS-Benutzererfahrung muss wirklich verbessert werden.)

      Wenn macOS fragt: „Möchten Sie, dass die Anwendung ‚UniFi.app‘ eingehende Netzwerkverbindungen akzeptiert?“, müssen Sie auf „Zulassen“ klicken, damit die Netzwerkanwendung ordnungsgemäß funktioniert.

Zwei ergänzende Anmerkungen:

  1. Sie können alle Änderungen an Ihrer Firewall rückgängig machen, wenn Sie mit der Netzwerkanwendung fertig sind (vorausgesetzt, Sie möchten sie nicht die ganze Zeit laufen lassen). Die Firewall-Änderungen sind jedoch größtenteils harmlos, wenn Sie UniFi lediglich den Empfang eingehender Verbindungen gestattet haben.

  2. Sie können die Netzwerkanwendung auch „kopflos“ ausführen. Ich habe es nicht ausprobiert, aber die Anweisungen unterhttps://akrabat.com/run-the-unifi-controller-headless-on-mac/sieht vielversprechend aus. Beachten Sie, dass Sie eine andere Exec-Zeichenfolge verwenden müssen als die auf dieser Seite vorgeschlagenen.

Antwort2

Ich habe es in Docker in wenigen einfachen Schritten zum Laufen gebracht! Ich habe einDocker-Konfiguration auf Guthubmit vollständigen Anweisungen, aber hier sind die grundlegenden Schritte:

  1. Entscheiden Sie, wo UniFi dauerhafte Daten auf Ihrem Computer speichern soll.

  2. Führen Sie ein Docker-Compose-Skript aus.

  3. Navigieren Sie zu https://localhost:8443 und schließen Sie die Ersteinrichtung ab.

  4. Gehen Sie zu den Einstellungen und geben Sie die IP-Adresse Ihres Computers ein.

verwandte Informationen