Ein Reverse-Proxy macht Sinn, wenn man entsprechend Dienste von extern erreichbar machen möchte oder mehrere Server unter dem gleichen Port von aussen erreichbar haben möchte. Eine einfache und schnelle Variante ist der Nginx Proxy Manager (kurz npm). Dieser wird unter Docker installiert.

Ich habe bereits in diesem Artikel beschrieben, wie man Docker und Portainer unter Proxmox installiert. Dies dient nun als Basis für die NPM installation. Melde dich zunächst als Benutzer auf deinem docker Container an und erstelle das Verzeichnis npm wie folgt:

mkdir npm

Wechsle in das Verzeichnis und erstelle die Datei docker-compose.yml mit nano:

nano docker-compose.yml

Füge folgenden Inhalt in diese Datei ein. Du kannst das SQL Passwort entsprechend ändern. Ändere es aber dann in beiden Zeilen ab!

version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    environment:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
  db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./data/mysql:/var/lib/mysql

Danach die Datei mit CTR-X abspeichern und nano beenden.

Dann installiere den NPM mit folgendem Befehl:

docker-compose up -d

Wenn die Installation abgeschlossen ist, kannst du dich an Portainer anmelden und prüfen, ob die Container ordnungsmeäß laufen.

Den Proxy-Manager konfigurierst du wenn die das Webinterface mit Port 81 aufrufst: http://ip-vom-docker:81.

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

Wie man jetzt die Domaineinstellungen und Umleitungen durchführt, habe ich hier erklärt: Link zum Video. Dieses bezieht sich zwar auf eine Docker installation unter Raspi, geht aber genauso unter Proxmox.

Viel Spass beim Nachbauen.

Ich verwende als Proxmox-Server einen MSI Cubi 5. Der ist sehr leitungsfähig und extrem stromsparend. Einen Review findest du hier.

Die Hardware, die ich benutze ist diese:

Die Hardware gibts hier: (Affiliate Links)
MSI Cubi 5 i7: https://amzn.to/3ra7rae
2×32 GB RAM Cruzial: https://amzn.to/3i3B20J
Samsung NVME 1TB: https://amzn.to/3ww3FZK
Samsung 1TB Evo 870: https://amzn.to/2VDsyG8

weitere Links
Proxmox: http://proxmox.com
Docker: Empowering App Development for Developers | Docker
NPM: Nginx Proxy Manager