これは些細なことのように聞こえるかもしれませんが、ここにはいくつかの重要なニュアンスがあると思います。
提供されているオプションは、設定がどのように渡されているかと、どの設定が渡されているかの混合です。
設定がどのように渡されているかに関して、2つのことが適用されます。
-
環境変数が現在どのように使用されているか
DISCOURSE_WHATEVER環境変数は、現在 Docker ビルドプロセス中にdiscourse.confのエントリを作成するために使用されており、これらは Discourse 内からGlobalSettingまたはSiteSettingとして利用できます。Discourse はこれらの環境変数をそのように認識しません。 -
discourse.conf エントリの制限
GlobalSettings は SiteSettings を抑制およびオーバーライドできるという便利な機能を持っていますが、マルチサイト環境ではマルチサイトのすべてのサイトに適用されるという制限も課しています。
これら2つを組み合わせると、Discourse 内からは SiteSetting が最も柔軟であることがわかります。これらは実際の SiteSetting であったり、discourse.conf から来たり、それらのエントリは DISCOURSE_ 環境変数から来たりすることができます。私の意見では、そこには実際の選択肢はありません。SiteSetting は最も柔軟で、欠点がありません。なぜなら、それらは機能的なスーパーセットだからです。代わりに GlobalSettings を使用でき、それらは環境変数を使用して入力できます。
これは、唯一の実際の選択肢は、認証情報の自動検出を使用するかどうかであるということです。私の個人的な認識では、自動検出は常にエラーを起こしやすいため、明示的なものを好みます。
つまり、実際の具体的な認証情報を示す SiteSetting を持つということです。