もしどうしても必要だとお考えであれば、以下の「非公式な方法」で、お望みの「本質的な部分」を実現することができます。それは、(1) 独自のベースとなる Discourse Docker イメージを作成し、(2) フォークした Discourse の GitHub コードベースをビルドして実行する方法です。
その場合、以下の手順が必要です。
- Dockerfile を編集し、フォークした Discourse ソースリポジトリ を追加する
- ランチャースクリプトを編集し、代替のベース Docker イメージ を追加する
Discourse の Dockerfile には以下の行があります。
git clone https://github.com/discourse/discourse.git &&\
また、ランチャースクリプトには以下の行があります。
image="discourse/base:2.0.20200512-1735"
プライベートな Docker レジストリを運用している場合は、お好みの Discourse ベースイメージをそのレジストリにプッシュできます。例えば、以下のように設定します。
image="localhost:5000/base:2.0.20200512-1735"
同様に、Discourse をフォークしている場合は、上記の Dockerfile でそのフォークを使用できます。例えば、以下のようにします。
git clone https://github.com/your_git_account/discourse.git &&\
これにより、ベース Docker イメージとビルドコードの両方を管理しやすくなります。
もちろん、この方法は推奨されません。Discourse からのバグ修正、セキュリティ更新、機能更新などの恩恵を受けられなくなるためです。また、この方法はサポート対象外であり、推奨もされていません。
ご参考になれば幸いです、@Ed_Bobkov 様
注:この方法では、Discourse を再ビルドすることには変わりありません。ただし、(1) ベース Docker イメージのバージョンと、(2) Discourse の GitHub リポジトリのコードを制御できます。ただし、この方法はサポート対象外であり、推奨もされていないため、すべてご自身の責任となります(私の知る限りでは)。
関連記事: