ロゴ、ロゴ_smallをコードとして設定

ディスコミュニティの皆様へ。

最近、本番環境のバックアップを開発およびテストインスタンスにデプロイおよび復元するプロセスを自動化しました。
これにより、すべてのサイトで同一のデータを持つことができます。
しかし、インスタンスごとにサイトのロゴをカスタマイズしたいと考えています。

この他のトピックで宣伝されているサイト設定.ymlに続いています: Comprehensive list of SiteSettings?

サイトの主要な設定を異なる変数で構成することに成功しました。
しかし、ロゴの部分はあまり文書化されていないため、いくつかの方法を試しました。

...
# 利用可能なオプション:
#
# default               - 設定のデフォルト値。アップロードサイト設定の場合は、db/fixtures/010_uploads.rb にシードされたアップロードのIDを使用します。
# ...

branding:
  logo:
    default: -5
    client: true
    type: upload
  logo_small:
    default: -6
    client: true
    type: upload

基本的に、デフォルトは 010_uploads.rb で定義されている整数インデックスのようです。

  -5 => "discourse-logo-sketch.png",
  -6 => "discourse-logo-sketch-small.png",

UI設定履歴で、最新のロゴとロゴ_スモールの参照を /upload ディレクトリへのリンクとして見つけました。

例: /uploads/default/original/3X/2/4/242dc879cbffed41ee64646a0dffded5c34bb9c6.png

アプリ設定.ymlで、デフォルト値から実験を開始しました。

  # バックアップ
  DISCOURSE_s3_backup_bucket: "backup-test"

  # ロゴ
  DISCOURSE_logo: -5
  DISCOURSE_logo_small: -6

DISCOURSE_logoDISCOURSE_logo_small を site_settings.yml で指定されたデフォルトに設定しました。

サイトを再構築すると、500エラーが発生し、サイトが機能しなくなりました。
また、ロゴとして使用したいアップロードへの文字列参照を渡そうとしましたが、残念ながら同じ結果で、サイトが使用できなくなりました。

DISCOURSE_logo: "/uploads/default/original/3X/2/4/242dc879cbffed41ee64646a0dffded5c34bb9c6.png"

私の考えは、開発、テスト、本番環境ごとに異なるロゴを本番インスタンスにアップロードし、その後、本番バックアップを復元した後、サイトの再構築が特定のインスタンスの正しいロゴを指すようにすることでした。

何か助けていただけると幸いです。

「いいね!」 2

私も同じ理由でこの道を進みました(そこまで深くはありませんが)。

結局、諦めて、サイトのクローン間の区別が悪いままで生活しています。

少なくとも、サーバーのボリュームの名前を変更するのは比較的簡単なので、本当に愚かなことをする可能性は低くなります!!!