NGINX Proxy Manager – Reverse Proxy Installation auf Proxmox LXC Container mit Docker installieren

Der NGINX Reverse-Proxy ist sinnvoll, wenn man z.B. entsprechende CMS (content management system)- Dienste wie WordPress, Joomla und Drupal von extern erreichbar machen möchte oder mehrere Server unter dem gleichen Port wie den Port 433 für das HTTPS (Hypertext Transfer Protocol Secure) von außen erreichbar machen möchte. Eine schnelle zu realisierende Variante ist der Nginx Proxy Manager (kurz npm). Dieser kann ganz einfach über Docker installiert.

Den Grundstein habe ich in Form eines Proxmox-LXC Container mit Docker hier: https://it-daten.de/docker-portainer-auf-proxmox-virtual-environment-7-2-3-installieren/ schon dokumentiert.

Der LXC Container muss nur noch gestartet sowie eine Verbindung zur Konsole hergestellt werden.

Danach einfach mit einem Benutzer (nicht als root) anmelden und in das Verzeichnis des Benutzers wechseln mit:

cd /home/docker/

Nun wird ein neues Verzeichnis für den NGINX Proxy Manager in diesem Verzeichnis anlegt mit:

mkdir npm

Jetzt wechseln wir in das Verzeichnis mit:

cd /home/docker/npm/

Dort erstellen wir eine config-Datei als JavaScript Object Notation mit:

nano config.json

Hier kopieren wir die folgen Angaben zu unseren zukünftigen Datenbank rein.

Wichtig!

Angaben zu: name, user und Passwort unbedingt in individuelle Angaben abändern!

{
  "database": {
    "engine": "mysql",
    "host": "db",
    "name": "npm",
    "user": "npm",
    "password": "npm",
    "port": 3306
  }
}

Nun wieder mit Strg+O abspeichern und mit Strg+x den Editor verlassen.

Im selben Verzeichnis: “/home/docker/npm/” wird eine weitere Datei erstellt. Diesmal wird eine YAML-Datei erstellt.

nano docker-compose.yml

Hier kopieren wir die folgen Angaben rein.

Angaben zu: name, user und Passwort wieder die vorigen individuelle Angaben übernehmen und ein neues root-Passwort vergeben !

version: "3"
services:
  app:
    image: jc21/nginx-proxy-manager:latest
    restart: always
    ports:
      - 80:80
      - 81:81
      - 443:443
    volumes:
      - ./config.json:/app/config/production.json
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db
    environment:
    # if you want pretty colors in your docker logs:
    - FORCE_COLOR=1
  db:
    image: mariadb:latest
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: "npm"
      MYSQL_DATABASE: "npm"
      MYSQL_USER: "npm"
      MYSQL_PASSWORD: "npm"
    volumes:
      - ./data/mysql:/var/lib/mysql

Nun wieder mit Strg+O abspeichern und mit Strg+x den Editor verlassen.

Als nächstes werden die beiden Docker-Container einmal Datenbank -Container (mariadb) und der NGINX Proxy Manager -Container automatisch zusammen gebaut.

Dazu einfach im selben Verzeichnis: “/home/docker/npm/” den folgenden Befehle ausführen:

docker-compose up -d

Das war alles, mit der IPv4- Adresse des LXC Container und den Port: 81 (http://ContainerIPv4:81) erreicht man nun das Webinterface vom NGINX Proxy Manager.

Der voreingestellte Benutzer-Login ist admin@example.com und das Passwort changeme. Beides muss nun geändert werden.

Sollte die folgende Fehlermeldung kommen:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied. See 'docker run --help'.
sudo chmod 666 /var/run/docker.sock

Viel Spaß 😉


			          
Schreibe einen Kommentar 0

Your email address will not be published. Required fields are marked *