こんにちは @maggiomj
Discourse の PostgreSQL データベースを確認すると、サイト設定用のテーブルがあり、ほとんどのサイト設定がデータベースに永続化(保存)されていることがわかります。
どのサイト設定について詳しく知りたいのか具体的に指定されていないため、正確な回答は難しいのですが、一般的に、これらのサイト設定がデータベースに設定されてしまえば、yml ファイルでビルドのたびに設定する必要性はほとんどありません。
もちろん、データベースに永続化されないカスタムサイト設定についてはこの限りではありません。
参考になれば幸いです。
a_server:~# docker exec -it data bash
a_server-data:/# su postgres
postgres@a_server-data:/$ psql discourse
psql (12.2 (Debian 12.2-2.pgdg100+1))
Type "help" for help.
discourse=# \dt *site*
List of relations
Schema | Name | Type | Owner
--------+---------------+-------+-----------
public | site_settings | table | discourse
public | sitemaps | table | discourse
(2 rows)
discourse=# select count(id) from site_settings;
count
-------
141
(1 row)
discourse=#
yml ファイル内のサイト設定ディレクティブとデータベースを比較すれば、どの yml サイト設定ディレクティブが冗長であるか、かなり明確に把握できるはずです。