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.
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.