皆さん、こんにちは。
Bitnamiイメージを使用してDiscourseコンテナを実行しています。そこで経験している問題は、すべてのテンプレートが%{base_url}変数にexample.comを使用しており、これを変更できないようです。
Bitnamiでサポートチケットを作成しましたが、検索してもインターネット上のどこにもbase_url変数に関する情報が見つかりません。
この変数について、どなたか説明していただけますか?この変数について非常に混乱しています。
皆さん、こんにちは。
Bitnamiイメージを使用してDiscourseコンテナを実行しています。そこで経験している問題は、すべてのテンプレートが%{base_url}変数にexample.comを使用しており、これを変更できないようです。
Bitnamiでサポートチケットを作成しましたが、検索してもインターネット上のどこにもbase_url変数に関する情報が見つかりません。
この変数について、どなたか説明していただけますか?この変数について非常に混乱しています。
ここではBitnamiイメージを使用したインストールはサポートしていません。サポートが必要な場合は、標準のインストールガイドに従ってDiscourseをインストールすることをお勧めします。
理解しましたが、それは基本の話ではありません。私の質問は、%{base_url} はどこから来るのか、またはどこに基づいているのかということです。Discourse のドキュメントやフォーラムでも見つけることができません。
%{base_url} を example.com から自分のドメイン名に変更するにはどうすればよいですか。これにより、メールテンプレートが正しく解析されるようになりますか?
インストールで問題が発生したようで、正しいドメインが設定されていません。
前述の通り、標準のインストール手順に従い、問題が解決しない場合はバックアップから復元する方が簡単な場合があります。
なぜ変数を設定するのではなく、それが投入されているのですか?
Docker Compose YAML をプルする前に編集する必要があるようです: containers/bitnami/discourse/docker-compose.yml at main · bitnami/containers · GitHub (31行目と51行目)
わかっていますが、初回実行後に変更しても修正されないため、初回実行時から行う必要があるのか疑問に思っています。このホスト(名前)が静的に設定されるかどうかを知りたいからです。
Bitnamiコンテナも、公式のものと同様に、アップデート時にDiscourseを完全に新規にコンパイルしますか?
変数はここで定義されているようです。
current_hostname 変数はここで設定されます。
force_hostname 変数はサイト設定テンプレートでここに宣言されています。
非表示になっているため、管理者設定で変更することはできません。他のサイト設定と同様に、データベースに保存されていると想定されます。インスタンスのデータベースダンプを検索しましたが、force_hostname は設定されておらず、宣言もされていません。公式のDiscourseコンテナYAMLには DISCOURSE_HOSTNAME が割り当てられていますが、これはグローバル設定であり、サイト設定ではないため、強制される方法が異なるようです。
current_hostname は、接続中のもの、つまり動的なものから取得されるようです。しかし、どこで正確に定義されているかはわかりません。おそらく外部モジュール/gemです。
Bitnamiコンテナが DISCOURSE_HOST 設定をどのように扱っているかわからないため、少なくとも DISCOURSE_HOSTNAME が公式コンテナからどのように保存および強制されるかをさらに調査するまで、データベースで force_hostname を検索することができます。
これまでのご支援ありがとうございます!あなたの発見と比較して、私もシングルマルチサイトとしてインストールを設定することを考えていました。これにより機能するかもしれませんが、BitnamiがDiscourse自体に変更を加えていないように感じる部分を整理しようとしているだけです。なぜこの問題が起こるのか、本当に疑問です。
ダンプを確認する必要があります。
データベースダンプで見つけられません。
Discourseコンテナのバリアントが、コンテナYAMLに基づいてホスト名を内部的にどこでどのように適用しているのか、現時点では理解できません。
Bitnamiコンテナの構成には、別のWebサーバーは含まれておらず、DiscourseのWebポートを直接公開していますか?公式コンテナにはDiscourseの前に別のNginxが含まれていますが、これは可能であれば削除したいと考えています。なぜなら、コンテナの外部にはすでに別のApache Webサーバーがあるからです。