上記の通り、ホスト内のコンテナは install-nginx を実行することはありません。
このトピックが特に有用かどうかはわかりません。
Discourse のアーキテクチャを気に入っておらず、開発者が製品がどのように最適化されているかについて述べたことを受け入れず、Docker に詳しくないようであり、ご自身の発言通り質問に嘘をついており、それが私たちの時間を collectively 無駄にしています。
このトピックはすでに unsupported-install タグが付けられており、コミュニティに提供される無料サポートの範囲から大きく外れているためです。もしこれが本当にあなたにとって重要なら、Marketplace で新しいトピックを立ててはいかがでしょうか。そうすれば、コンサルタントを雇って教育を受けるために自分の資金を投資でき、私たちの時間を浪費することもなくなります。
いいえ、ありません。すみません。では、上記の sed コマンドを app.yml のフックセクションに追加する必要があるのでしょうか?docker_discourse リポジトリ内のファイルをブートストラップ時に修正する方法の例は somewhere にありますか?現在、そのセクションにはプラグイン用の git clone コマンドのみが含まれています。
おそらく、git clone と同様に sed コマンドを cmd セクションに追加できると思いますが、install-nginx スクリプトがどのディレクトリに存在するのかわかりません。
また、app.yml はどこに存在するのでしょうか?containers ディレクトリがリポジトリ内で空のままであるため、上記の hooks セクションへのリンクを貼ることができませんでした ![]()
これらを行うためのすべてのドキュメントは、このメタサイトに存在します。私たちは皆、マニュアルを読むのを避けたがりますが、この場合は本当に基本に立ち返るべきです。
率直に言えば、あなたはすべてを逆の順序で進めています。
unsupported-install タグを再度指摘させてください。標準的なインストールから逸脱することを選択した場合は、追加の技術的負担を自分で引き受けることが前提となっています。
インスタンスはどのようにインストールしましたか?
申し訳ありませんが、投稿する前にドキュメントを検索するよう努めています。Discourse のマニュアルがあればとても助かるのですが、#howo タグが付いたトピックの多くは既に読んでいます。残念ながら、Discourse のマニュアルは存在しないようです。
この件についてご助力いただき感謝しています。また、今後これらの操作方法に関するドキュメントを検索する他の方々にも役立つことと思います。
まず discourse-setup を実行しましたが、結果としてインストールが破損してしまいました。その後、app.yml を手動で編集し、./launcher rebuild app を実行しました。
これはDiscourseをもっと深く知るための興味深い議論だと思います。
私はnginxを選び、コンパイルプロセスでmod_securityモジュールを追加するためにapp.ymlをある程度修正し、自分自身のベースイメージを構築することをお勧めします。
Discourseは複雑なソフトウェアであり、Rails上で動作しますが、容易かつ一貫してデプロイするのはさらに複雑です。そのため、スタッフは作成するDockerイメージに対してさらに一歩踏み込んだ取り組みをしています。
このイメージには、サポートされているインストール環境で可能な限り最適に動作させるための膨大な数の最適化が施されており、多くの「ブラックマジック」が働いています。
そのことを理解し、Discourseを動作させるために必要な2〜3のリポジトリなど、パズルのすべてのピースを解き明かすことができれば、あなたが望むものを動作させることは不可能ではありません。
さて、あなたの環境がnginx → varnish → apacheであるなら、mod_securityをベースイメージに追加し、フックを使って設定した上で、nginx → varnish → Discourseとして実行してみてはいかがでしょうか。
mod_security を導入してセキュリティが向上する可能性は、非常に、非常に低いです。Discourse をメンテナンスしている人々はセキュリティを非常に重視しており、mod_security が修正すると想定されている問題は、すでに解決されている可能性が高いです。さらに、mod_security をイメージに追加した場合、Discourse が使用不能になる可能性はゼロよりも明らかに大きくなります。mod_security をインストールして Discourse が動作しなくなった場合、Discourse を mod_security と互換性があるように修正するのはあなた自身の責任となり、Discourse のメンテナーに対して正当なセキュリティ上の懸念を認識させるか、あるいは今後独自にフォークを維持し続けるかのいずれかを選択することになります。
これによって良い結果は得られません。 これによって良い結果が得られる可能性は極めて低いです。
同意します。別のWAFは、セキュリティ・バイ・オスキュリティの域に達しています。
Discourseのセキュリティを維持するための真の先駆的な取り組みが行われています:
このトピックは、Apache 上で Discourse を実行する(nginx へのリバースプロキシではなく)という元の問題から逸れてしまいました。
しかし、Discourse の前に WAF(mod_security など)を設置することに関する議論はコミュニティにとって有益だと考えます。そのため、Discourse と WAF について具体的に議論するための別トピックを作成しました: