Уважаемое сообщество Discourse.
Недавно я автоматизировал развертывание и восстановление резервной копии продакшн-окружения на инстанс разработки и тестирования форума Discourse.
Это позволяет иметь идентичные данные на всех сайтах.
Однако я хотел бы настраивать логотип сайта в зависимости от инстанса.
Следуя настройкам из файла site_settings.yml, о которых упоминалось в этой теме: Comprehensive list of SiteSettings?
Мне удалось настроить ключевые параметры сайтов с использованием различных переменных.
Однако раздел, касающийся логотипа, описан недостаточно подробно, поэтому я попробовал несколько подходов.
...
# Доступные опции:
#
# default - Значение по умолчанию для настройки. Для настроек загрузки файлов используйте ID загрузки, определенной
# в db/fixtures/010_uploads.rb.
...
branding:
logo:
default: -5
client: true
type: upload
logo_small:
default: -6
client: true
type: upload
По сути, параметр default, похоже, представляет собой целочисленный индекс, определенный в файле 010_uploads.rb:
-5 => "discourse-logo-sketch.png",
-6 => "discourse-logo-sketch-small.png",
В истории настроек интерфейса я нашел ссылки на последний логотип и логотип_small, указывающие на директорию /upload.
Например: /uploads/default/original/3X/2/4/242dc879cbffed41ee64646a0dffded5c34bb9c6.png
Затем в файле настроек приложения .yml я начал экспериментировать со значением по умолчанию:
# Резервное копирование
DISCOURSE_s3_backup_bucket: "backup-test"
# Логотип
DISCOURSE_logo: -5
DISCOURSE_logo_small: -6
Установка параметров DISCOURSE_logo и DISCOURSE_logo_small на значения по умолчанию, указанные в site_settings.yml,
привела к ошибкам 500 при пересборке сайта, и сайт перестал быть доступным.
Я также попробовал передать строковую ссылку на файл загрузки, который должен стать логотипом этого конкретного сайта, но, к сожалению, результат был тем же — сайт стал нерабочим.
DISCOURSE_logo: "/uploads/default/original/3X/2/4/242dc879cbffed41ee64646a0dffded5c34bb9c6.png"
Моя логика заключалась в следующем: загрузить разные логотипы для окружений разработки, тестирования и продакшн на инстанс продакшн, а после восстановления резервной копии продакшн убедиться, что пересборка сайта указывает на правильный логотип для конкретного инстанса.
Любая помощь будет очень кстати.