マルチサイトインストールはサブディレクトリで可能?

こんにちは!

私は、複数の独立したフォーラムが必要で、かつ時間の経過とともにその構成が柔軟に変更可能な環境で Discourse をセットアップしています(はい、複数のフォーラムが必要です。これらは異なるコミュニティにサービスを提供します)。

答えはマルチサイトインストールのようですが、私はそれを成功させています。現在、Multisite configuration with Docker に記載されている通り、データコンテナと Web コンテナを分割したマルチサイトの動作する設定を持っています。(2 つのホスト名 $hostname.$domaindiscourse.$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 コンテナを用意しなければなりませんでしょうか?もしそうだとしたら、それらのコンテナが同じデータコンテナを指し示しつつも互いの存在を知らない状態で動作すると、問題が起きるでしょうか?あるいは、私は完全に手詰まりなのでしょうか?

「いいね!」 1

現時点では、マルチサイトとサブフォルダの同時サポートは提供していません。将来的に顧客から要望があれば検討する可能性がありますが、その場合、工数は相当な規模になると見込んでいます。

「いいね!」 6

すべてが同じベースドメイン向けであれば、私の回避策は *.forum.example.com を設定することです。これにより、必要な DNS エントリは 1 つだけで済みます。

「いいね!」 3

ありがとうございます、二人とも!残念ながら、今からスターサブドメインを立ち上げることはできないと思うので、マルチサイトではなく、複数のウェブフロントエンドコンテナにするしかないと思います。(もし事前にこれが分かっていれば、スターサブドメインの導入を強く推していたでしょう。)

マルチサイトやサブフォルダのサポートが実現することを心から願っています。もし(可能性は低いですが)時間ができたら、検討してみようと思います。

「いいね!」 1