こんにちは!
私は、複数の独立したフォーラムが必要で、かつ時間の経過とともにその構成が柔軟に変更可能な環境で Discourse をセットアップしています(はい、複数のフォーラムが必要です。これらは異なるコミュニティにサービスを提供します)。
答えはマルチサイトインストールのようですが、私はそれを成功させています。現在、Multisite configuration with Docker に記載されている通り、データコンテナと Web コンテナを分割したマルチサイトの動作する設定を持っています。(2 つのホスト名 $hostname.$domain と discourse.$domain を使用しており、これまでのテストでは問題なく動作しています。)
しかし、一つ問題があります。DNS の制御が容易ではないため、複数の「実際の」ホスト名をすぐに追加できません。これまで見たすべてのドキュメントは、マルチサイトにはこれが必須であると示唆しており、マルチサイトサポートが実装されているメカニズムを簡単に調べると、これが事実であることがわかります。
私の理想とするレイアウトは、各フォーラムを独自のサブディレクトリ内に配置することです。つまり discourse.$domain/forum1, …, discourse.$domain/forumN のように配置し、理想的には既存のマルチサイトメカニズムと同様に、これらすべてのフォーラムを単一の Web コンテナから提供できるようにすることです。
経験則から、Serve Discourse from a subfolder (path prefix) instead of a subdomain に従って「プライマリ」フォーラムを discourse.$domain/forum というサブディレクトリに移動させることは成功しましたが、これは Web コンテナをその特定のサブディレクトリに縛り付けてしまうようです。私の実験では、これがマルチサイトを大きく混乱させています。
また、ホストのフロントエンド Web サーバー上のパスに基づいて、Web コンテナに入ってくる Host: ヘッダーを操作するような手練手管も試してみましたが、うまくいきませんでした。複数のフォーラムが奇妙に混ざり合った状態になってしまいます。
つまり、これをスマートに行う方法はありますか?マルチサイトのように単一の Web コンテナだけで済ませることは可能でしょうか?それとも、2 つ目の Web コンテナを用意しなければなりませんでしょうか?もしそうだとしたら、それらのコンテナが同じデータコンテナを指し示しつつも互いの存在を知らない状態で動作すると、問題が起きるでしょうか?あるいは、私は完全に手詰まりなのでしょうか?