Docker Container Station – nginx-proxy-manager Einrichtung?

Ich versuche, nginx-proxy-manager in CS als Docker-Compose-Anwendung einzurichten. Ich lade ihn über die unten stehende YAML-Datei, aber wenn ich versuche, einen Reverse Proxy einzurichten, gelingt es nicht, auf die interne App zuzugreifen, die ebenfalls auf CS als Docker-Compose-App läuft. Hat jemand NPM in CS zum Laufen gebracht?

Ich kann den Admin-Bildschirm der App erreichen und mich einloggen, einen Reverse Proxy erstellen und ein Let’s Encrypt-Zertifikat bekommen, aber es wird nicht an die interne App weitergeleitet. Es erscheint ein 504-Fehler, der anscheinend häufig vorkommt.

services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    stdin_open: true
    tty: true
    ports:
      # Diese Ports sind im Format <host-port>:<container-port>
      - '80:80' # Öffentlicher HTTP-Port
      - '443:443' # Öffentlicher HTTPS-Port
      - '81:81' # Admin-Web-Port
      # Fügen Sie weitere Stream-Ports hinzu, die Sie freigeben möchten
      # - '21:21' # FTP

    environment:
      # Kommentieren Sie dies aus, wenn Sie den Speicherort der
      # SQLite-DB-Datei im Container ändern möchten
      # DB_SQLITE_FILE: "/data/database.sqlite"

      # Kommentieren Sie dies aus, wenn IPv6 auf Ihrem Host nicht aktiviert ist
       DISABLE_IPV6: 'true'

    volumes:
      - /share/nginx-proxy-manager/data:/data
      - /share/nginx-proxy-manager/letsencrypt:/etc/letsencrypt

Habe einige Fortschritte beim Testen verschiedener Dinge gemacht

Für die NPM-App muss ich NAT und Bridge-Netzwerke hinzufügen. Die Bridge bekommt eine statische IP-Adresse zugewiesen. Das NAT ermöglicht den Zugriff auf andere Container.

Beim Testen kann ich einen Bash-Befehl ausführen und innerhalb des NPM-Containers mit curl den Zugriff testen. Bisher funktioniert es nicht, wenn ich die Haupt-IP-Adresse eines Containers verwende, also 192.x.x.x, aber wenn ich die NAT-IP-Adresse 10.0.3.x benutze, kann ich auf den anderen Container zugreifen. Der Containername scheint innerhalb von NPM nicht zu funktionieren.

Ich denke, mit genug Herumprobieren könnte ich es vielleicht zum Laufen bringen. lol

Weiß jemand, wie man das Standard-NAT in einer YAML-Compose-Datei konfiguriert? Momentan erstelle ich die App, muss dann aber den Container bearbeiten und das Netzwerk ändern. Ich würde das Netzwerk lieber direkt in der YAML-Datei definieren, damit beim Neuerstellen der App/des Containers alles schon so eingerichtet ist, wie ich es brauche.

Siehe hier

1 „Gefällt mir“

Hier ist, was ich für Pi-Hole verwende. Es funktioniert ziemlich gut:

networks:
  qnet-network:
    driver_opts:
      iface: eth3
    driver: qnet
    ipam:
      driver: qnet
      options:
        iface: eth3
      config:
        - subnet: 192.168.0.0/23
          gateway: 192.168.1.1

Stellen Sie nur sicher, dass Sie die richtige Schnittstellennummer verwenden – sie beginnen bei 0.

Ich habe NPM nach viel Ausprobieren zum Laufen gebracht. Im Grunde habe ich die Befehlszeile von Docker verwendet, um ein weiteres Netzwerk namens backend zu erstellen. Dann habe ich den Netzwerk-Teil der Compose-Datei genutzt, um jeder neuen Container-App das Backend-Netzwerk sowie NPM-Backend und eine statische IP zuzuweisen. Vielleicht starte ich einen Thread mit Docker-Compose-Notizen, um anderen zu helfen, wenn ich Zeit habe, das richtig zu dokumentieren.