Hier ist meine Version davon. Ich habe fast aufgegeben, aber @tophee hat auf einen Beitrag verlinkt, den ich (!?) geschrieben habe und der die nötige Magie lieferte! Dies ist nun eine unkomplizierte Möglichkeit, Nginx Proxy Manager für Discourse zu konfigurieren. Ich denke, das macht dies ähnlich wie Run other websites on the same machine as Discourse - #396.
Installieren Sie Nginx Proxy Manager gemäß deren Anleitung unter
Entfernen Sie SSL- und Let’s Encrypt-Vorlagen:
Stellen Sie sicher, dass diese Zeilen in Ihrer yml-Datei auskommentiert oder gelöscht sind:
## Uncomment these two lines if you wish to add Lets Encrypt (https)
#- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"
Veranlassen Sie Discourse, das Netzwerk npm-default zu verwenden.
Wenn Sie die Installationsanweisungen für Nginx Proxy Manager blind befolgen, wird ein Docker-Netzwerk namens npm_default erstellt.
Fügen Sie diesen Abschnitt zu Ihrer(n) yml-Datei(en) hinzu. Wenn Sie separate web_only- und data-Container haben, müssen Sie dies für jeden von ihnen hinzufügen (ich habe den mail-receiver-Container nicht getestet). docker_args ist nicht eingerückt.
docker_args: |
--network npm_default
Keine Notwendigkeit, Ports freizugeben
Kommentieren Sie diese Zeilen in Ihrer yml-Datei aus oder entfernen Sie sie:
# expose:
# - "80:80" # http
# - "443:443" # https
Anschließend können Sie Ihre Container neu erstellen und Nginx Proxy Manager wie folgt konfigurieren:

Eine einfache (aber nicht unbedingt empfohlene) Möglichkeit, eine zweite Discourse-Site hochzufahren, wäre folgende:
cd /var/discourse/containers
cp app.yml othersite.yml
# editieren Sie auf irgendeine Weise mindestens den Hostnamen in othersite.yml
./launcher rebuild othersite
Fügen Sie es dann wie oben zu NPM hinzu, wobei Sie othersite statt app verwenden.
Ich habe dies mit einem app.yml plus zwei web_only-artigen Containern und einem einzelnen data-Container sowie einem separaten othersite-redis-Container getestet, der eine Kopie des data-Containers ist und nur die Redis-Vorlagen enthält. (Eine einfachere Lösung wäre jedoch, das zusätzliche Redis im web_only-Container unterzubringen).