Caddyをrproxyとして使用したDiscourseの設定方法について

もし適切なセクションに投稿していなければ、申し訳ありません。

サーバーとしてOracle Free tierを使用しており、いくつかのDockerコンテナが実行されているUbuntuをインストールしています。
すべてのコンテナのrproxyとして、Dockerで実行されているCaddyを使用しています。

これで、最後のピースとしてDiscourseを設定する必要がありますが、進め方がわかりません。
他のテストサーバーで標準のDockerインストールでDiscourseをテストおよびインストールしましたが、それはパッケージ全体です。Caddyをrproxyとして使用する必要がある場合、いくつかの機能を無効にする必要があると思いますが、どうでしょうか?

どなたか正しい方向を教えていただければ、大変感謝いたします。

これは役立つかもしれません。

「いいね!」 1

それが正しい方向へ進むのに役立ったと思います。ただし、パスが正しいかどうかはわかりません。

app.yml でボリュームを次のように設定しました。
そして、Discourse を問題なくビルドできます。

volumes:
  - volume:
      host: /opt/docker/docker_configs/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /opt/docker/docker_configs/discourse/shared/standalone/log/var-log
      guest: /var/log

そして、そのフォーラムスレッドを読んで、Caddyfile でいくつかのことを試しました。

forum.mydomain.com {
  reverse_proxy unix//opt/docker/docker_configs/discourse/shared/standalone/nginx.http.sock
  import cloudflare
}
forum.mydomain.com {
  reverse_proxy /opt/docker/docker_configs/discourse/shared/standalone/nginx.http.sock
  import cloudflare
}

どちらも機能しませんでしたが、正しく行っているかどうかわかりません xD

Caddyをどのように起動していますか?

元のトピックのこの行は、これを機能させるためにディレクトリに合わせて調整する必要があります。正しいディレクトリがcaddyコンテナにマウントされていない限り、discourseによって作成されたソケットを見ることはできません。

ああ、ディスコースソックをキャディにマウントする必要があるということですか?なるほど!

昨夜は別のことを試しました。
ディスコースが起動すると、Dockerブリッジネットワークで実行されます。他のすべてのコンテナ(Caddyを含む)が入っているDockerデフォルトネットワークに単純に追加するだけであれば、他のすべてのコンテナと同様にCaddyに追加できます。

forum.mydomain.com {
  reverse_proxy app:80
  import cloudflare
}

しかし、それらのymlファイル全体でDockerネットワークがどこで定義されているのか分かりませんでした。ブリッジからデフォルトに切り替えることができれば、すべて解決します。

これは役立つかもしれません。

これは Nginx Proxy Manager のものですが、コンテナをデフォルトのブリッジネットワーク下に置くプロセスについて説明しています。

「いいね!」 1

はい、うまくいきました!

いくつか変更する必要がありましたが、最初にリンクしたスレッドとほぼ同じです。

Caddyfileでは、スレッドに書かれているものとは少し異なり、次のように記述する必要がありました。

forum.mydomain.com {
  reverse_proxy unix//sock/nginx.http.sock
  import cloudflare
}

そして、もちろん、今考えると当然ですが、ボリュームを追加しました。
docker-composeを使用しています。

  caddy:
    container_name: Caddy
    build:
      dockerfile: ./caddy-config/Dockerfile
      context: .
    labels:
      com.centurylinklabs.watchtower.enable: "false"
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./docker_configs/caddy/data:/data
      - ./docker_configs/caddy/Caddyfile:/etc/caddy/Caddyfile
      - ./docker_configs/caddy/srv:/srv
      - /var/discourse/shared/standalone:/sock
    restart: always

お手伝いいただき、本当にありがとうございました!

「いいね!」 1

それはおそらく、Caddy自体のアップストリームの変更によるものです。トピックでリンクされている画像は、私の知る限り、提供された構成でまだ機能しています。

「いいね!」 1