Seit gut drei Jahren betreibe ich einen RaspberryPi als Homeserver. Zunächst reichte dieser noch gut aus. Mit der Zeit wurde aber nicht nur die Zahl der Anwendungen, die auf dem Raspberry laufen, mehr, sondern auch die Leistungsanforderungen der Anwendungen selbst. Besonders meine ich damit die Influx Datenbank, die seit über drei Jahren jede Minuten um einen Datensatz der PV-Anlage größer wird. Die Datenbank braucht mittlerweile über 10 Minuten zum Starten. Auch diese Webseite braucht zum Laden deutlich länger, als sie sollte. Wenn ich den Raspberry komplett neu starte, braucht es ca. eine Stunde, bis alle Anwendungen wieder laufen. Das ist definitiv zu viel. Es sollte also ein neuer Rechner her. In dieser Artikelserie möchte ich davon berichten.


Übersicht aller Artikel dieser Serie


Was ist der Unifi Controller?

Der Unifi Controller ist eine Software, die benötigt wird, um Unifi Geräte einzurichten. Man kann diese grundsätzlich auch nur temporär zur Einrichtung der Geräte auf seinem Rechner laufen lassen. Lässt man ihn aber 24/7 laufen, so erhält man einige interessante Statistiken.

Installation des Unifi Controllers

Bis vor kurzem war es noch möglich, den Unifi Controller mit einem einzigen Container zu installieren. Mittlerweile wurde aber die Datenbank ausgelagert. Man braucht also zwei Container. Einen für die Datenbank und einen für Unifi selbst.

Dazu machen wir uns die Docker „Stacks“ zunutze. Ein Stack ist eine Einheit aus mehreren Containern (und Volumes).

Ich lege also einen neuen Stack in Portainer an:

Erstellen eines Docker Stacks

Diesem gebe ich einen Namen und füge folgenden Code im Webeditor ein.

Erstellen eines Docker Stacks mit Unifi Controller und DB

Die Volumes musst du bei dir natürlich anpassen (nur den Teil vor dem Doppelpunkt). Ebenso das Passwort für die DB.

Anschließend klicke ich auf „Deploy this stack“, um den Unifi Controller samt Datenbank zu starten. Öffnet man jetzt die Weboberfläche des Unifi Controllers unter Port 8443, so erhält man ein „404 – Not found“. Das liegt daran, dass es in der Datenbank weder den Benutzer noch die Datenbank delbst gibt.

Konfiguration der Datenbank

Um das zu ändern, wählen wir im Abschnitt „Containers“ unseren Container mit der Datenbank, in meinem Fall „unifi-db“.

Öffnen der Konsole der Datenbank

Dort klicken wir auf „Console“ und anschließend auf „connect“.

Öffnen der Konsole der Datenbank

In der Konsole angekommen, geben wir mongo ein, um in die Konsole der Datenbank zu kommen.

Konfigurieren der Datenbank für Unifi Controller

Dort legen wir einen Benutzer und zwei Datenbanken mit den Befehlen:

Das Passwort muss natürlich wieder das gleiche sein, wie das Passwort, was wir bei der Installation vom Unifi Controller angegeben haben.

Unifi Controller konfigurieren

Jetzt sieht man unter der Adresse https://IP_ADRESSE:8443 den Einrichtungsassistenten von Unifi:

Unifi Controller EInrichtungsassistent

Da ich von einem anderen Server umziehe, wähle ich hier den Punkt „Restore Server from a Backup“ und werde hier nicht weiter auf die Einrichtung eingehen.

Ändern des Inform Host

Der Unifi Controller in Docker erkennt nicht von selbst, welche IP-Adresse er hat. Damit man Geräte hinzufügen kann, muss er dies aber wissen, damit er die Adresse den Geräten mitteilen kann.

In den Systemeinstellungen des Unifi Controllers kann man das festlegen:

Ändern des Inform Host in Unifi Controller

Fazit

Der Unifi Controller ist jetzt fertig installiert und konfiguriert!