nginx und der Proxy Manager laufen als Docker-Container. Für die Installation gibt es daher mehrere Möglichkeiten: Ein NAS, das Docker unterstützt, den NUC, auf dem schon Home Assistant installiert ist, oder ein Raspberry Pi. Letzterer ist für mich die am besten geeignete Wahl: Wenn ich den Zugriff mal schnell unterbinden will, genügt es, den Pi vom Netzt zu trennen. Natürlich kann ich auch jeden anderen Rechner vom Netz trennen, aber dann auch dessen Services nicht mehr nutzen. Daher scheint mir der Raspi das System der Wahl zu sein.

Da das alles unter Docker läuft, müssen wir das erstmal installieren – wie das geht, habe ich in Teil 3 beschrieben. Zusätzlich dazu muss noch Docker-Compose installiert werden; für den Raspi gibt es kein fertiges Skript, daher muss es über Python laufen:

sudo apt-get install -y python3 python3-pip

Wenn das installiert ist, installieren wir Docker-Compose:

sudo pip3 -v install docker-compose

Ist das erledigt, gibt

docker-compose –version

die Versionsnummer aus, in meinem Falle ist das die 1.28.2.

Kleiner Hinweis noch: Ich habe mir das alles nicht selbst ausgedacht, sondern mich an die Anleitung aus diesem Video gehalten; dort sind auch die Befehle verlinkt, die hier zum Einsatz kommen…

Wozu das Ganze? Docker-Compose liest Konfigurationsdateien ein, aus denen hervorgeht, wie die Container eingerichtet werden sollen. Bevor wir diese Dateien jedoch erstellen, legen wir ein Verzeichnis an, in dem wir die Konfiguration des Proxy Managers ablegen:

mkdir npm

cd npm

Die Datei config.jsonHier legen wir eine Datei namens config.json an. Die wird benötigt, weil der Proxy Manager seine Daten in einer Datenbank ablegt. Diese Datenbankverbindung wird hier konfiguriert. Das Passwort muss nicht besonders stark sein: Die Datenbank liegt in unserem internen Netz, und wenn ein Angreifer sich Zugriff darauf verschafft, sieht er halt, auf Welche Systeme ein Zugriff eingerichtet ist; außerdem habe ich dann ganz andere Sorgen…

Die Datei docker-compose.yamlAls nächstes folgt die Datei docker-compose.yaml – sie enthält die Konfiguration der Container. Wichtig ist, dass die unter „db“ eingetragenen Benutzernamen und Passwörter mit denen aus der config.json übereinstimmen. Eine Änderung gibt es aber zur Original-Vorlage: Es gibt kein „offizielles“ MariaDB-Image für Arm-Rechner. Daher muss also ein anderes her, in diesem Falle jsurf/rpi-mariadb – das sollte aber keine Probleme machen.

Prinzipiell dürfte es hier auch möglich sein, einen anderen Datenbankserver anzugeben, z. B. eine MySQL- / Maria-DB auf einem NAS. Bei richtig großen Installationen dürfte das Sinn machen, für mein kleines Heimnetz genügt das aber so…

Die Konfiguration ist damit abgeschlossen. Das Ganze wird jetzt mit docker-compose up -d gestartet. Beim ersten Mal dauert das ein wenig, weil die Container aus dem Internet heruntergeladen werden.

Damit ist die grundsätzliche Einrichtung erledigt. Im nächsten Teil gucken wir uns die Oberfläche an und sorgen dafür, dass wir auch von außen (also außerhalb unseres Netzwerks) auf den Proxy zugreifen können.