デプロイメントをカスタマイズするためのベストプラクティス

app.yml を編集して Discourse の設定を微調整するのは一般的です。

さらに、How to avoid throttling limits with admin API key? - #7 by aas で、API リクエストのレート制限を回避するために nginx の設定を変更する必要があることを発見しました。

私の質問は、次のようなことに関する推奨されるベストプラクティスは何ですか?

  • app.yml のようなファイルのバージョン管理
    • 変更するたびに、/var/discourse の外部でバージョン管理し、/var/discourse/containers/ に移動する必要があります。
  • 新しいテンプレートの変更、オーバーライド、または追加
    • templates/web.ratelimited.template.yml は git で無視されません。6 年間変更されていませんが、直接編集するのは賢明ではないようです。./launcher rebuild がそれを上書きする可能性があります。または git pull コマンドが失敗する可能性があります。

可能な解決策

  • app.yml とテンプレートを含む独自の git リポジトリを作成します。
  • Ansible を使用して app.yml/var/discourse/containers/ にコピーし、テンプレートを Discourse を実行しているサーバーにもコピーする GitHub Actions を記述します。
    • この場合、app.yml のテンプレートセクションから templates/web.ratelimited.template.yml を削除し、独自のテンプレートに置き換えることができます。

質問

  • カスタムテンプレートをどこに配置するのが良いですか?

ここで言及されているように、テンプレートを使用する代わりに、app.yml に直接 replace セクションを追加できるようです。

はい、App.yml を使用して、必要に応じてバックアップ コピーを作成し、名前を付けることができます。

特定のセクションを変更する場合は、コメントを追加することもできます。セルフホストしている場合、プラグインは公式、パビリオン、その他のカテゴリに整理されています。適切なセクションに新しいプラグインをインストールするときにコメントを追加します。

ただし、私よりも良いアイデアを持っている人もいるかもしれません。