これが私のバージョンです。ほぼ諦めかけたところ、@tophee さんが私が(!?)書いた投稿へのリンクを紹介してくれ、必要な魔法を提供してくれたのです!これで Nginx Proxy Manager を Discourse 用に設定する直感的な方法ができました。これは Run other websites on the same machine as Discourse - #396 と同様のものになると思います。
公式の指示に従って Nginx Proxy Manager をインストール
SSL と Let’s Encrypt テンプレートを削除
yml ファイルの以下の行がコメントアウトされているか、削除されていることを確認してください。
## Uncomment these two lines if you wish to add Lets Encrypt (https)
#- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"
Discourse に npm-default ネットワークを使用させる
Nginx Proxy Manager のインストール手順をそのまま実行すると、npm_default という名前の Docker ネットワークが作成されます。
yml ファイルに以下の記述を追加してください。web_only コンテナと data コンテナが別々に存在する場合は、それぞれにこの記述を追加する必要があります(mail-receiver コンテナはテストしていません)。docker_args はインデントしないでください。
docker_args: |
--network npm_default
ポートの公開は不要
yml ファイルから以下の行をコメントアウトするか削除してください。
# expose:
# - "80:80" # http
# - "443:443" # https
その後、コンテナを再構築し、Nginx Proxy Manager を以下のように設定します。

2 番目の Discourse サイトを起動する簡単な(必ずしも推奨されるわけではありませんが)方法は以下の通りです。
cd /var/discourse/containers
cp app.yml othersite.yml
# 最低でも othersite.yml のホスト名を編集
./launcher rebuild othersite
その後、上記と同様に NPM に追加し、app の代わりに othersite を使用します。
私は app.yml に加えて 2 つの web_only 型コンテナ、単一の data コンテナ、そして redis テンプレートのみを含む data コンテナのコピーである個別の othersite-redis コンテナでテストしました。(ただし、より簡単な解決策として、追加の redis を web_only コンテナに配置することもできます)。