Nginx Proxy Manager unter Docker auf Raspberry 3b+ installieren, im Anhang ist eine benötigte SSH Datei, damit man nach dem ersten Booten direkt über SSH auf dem Raspberry zugreifen kann, die ZIP Datei entpacken.
SD-Karte vorbereiten.
Mit dem Programm Raspberry Pi Manager erstellen wir die benötigte SD-Karte.
Wir wählen als Betriebssystem Raspberry Pi OS lite 32-bit
Ist der Vorgang abgeschlossen, entfernen wir die SD-Karte aus den Kartenleser und stecken diese wieder hinein.
Nun sollten zwei Laufwerke angezeigt werden, auf dem Laufwerk "boot" können wir zugreifen (es wird nichts formatiert) und kopieren dort diese SSH Datei rein.
Jetzt kann die SD-Karte ordnungsgemäß entfernt und in den Raspberry gesteckt werden.
Den lassen wir dann gemütlich ein paar Minuten booten und greifen dann per SSH auf diesen zu.
Dazu öffnen wir die Windows CMD.exe (Konsole) und schauen im Router welche IP-Adresse der Raspberry bekommen hat, man kann natürlich auch einen Monitor an den Raspberry abschließen und sich dort die IP-Adresse anzeigen lassen.
Nun geben wir in der Konsole dies ein
SSH pi@die-ip-adresse
und bestätigen die Eingabe mit der ENTER Taste
Die Abfrage bestätigen wir mit YES und geben das Passwort: raspberry ein
Nun sind wir angemeldet und holen uns ersteinmal Sudo-Rechte
sudo -i
Jetzt wird erst einmal das System aktualisiert
apt update && apt upgrade -y
Installation von Docker
curl -sSL https://get.docker.com | sh
Nach Abschluss des Skripts müssen wir unserem Pi-Benutzerkonto Zugriff auf Docker gewähren.
usermod -aG docker pi
Installation und Konfiguration Nginx Proxy Manager
apt install libffi-dev libssl-dev -y
apt install python3 python3-pip -y
pip3 -v install docker-compose
Nachdem die Installation abgeschlossen ist, müssen wir einen Ordner erstellen, in dem unsere Konfigurations- und Docker-Compose-Dateien sich später befinden..
Wir werden dann zu diesem Ordner navigieren und eine Datei mit dem Namen config.json erstellen und wir werden den Rest der Installation in diesem Ordner bleiben.
mkdir npm
cd npm
Jetzt erstellen wir die config.json Datei
nano config.json
Nun fügen wir diesen Inhalt in die Konfigurationsdatei ein
{
"database": {
"engine": "mysql",
"host": "db",
"name": "npm",
"user": "npm",
"password": "npm",
"port": 3306
}
}
Mit Strg+S Speichern und mit Strg+X schließen
Nun erstellen wir die docker-compose.yml und damit wird der Nginx Proxy Manager installiert und gewisse Einstellungen angepasst.
nano docker-compose.yml
und fügen dies ein
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./config.json:/app/config/production.json
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
db:
image: 'yobasystems/alpine-mariadb:latest'
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql
Mit Strg+S Speichern und mit Strg+X schließen
Den folgenden Befehl ausführen, um den Docker-Container und damit die Installation zu starten.
docker-compose up -d
Jetzt noch zwei Befehle ausführen, damit die Container nach einem Neustart wieder automatisch gestartet werden
docker update --restart always npm_app_1
docker update --restart always npm_db_1
Schauen ob die Container laufen
docker ps
Nun können wir über den Browser die GUI vom Nginx Proxy Manager aufrufen http://[RASPBERRY_IP]:81
und mit admin@example.com und changeme anmelden und die Installation abschließen.