尊敬的 Discourse 社区:
我最近自动化了生产备份的部署和恢复到 Discourse 论坛的开发和测试实例。
这使得所有站点拥有相同的数据。
但我希望根据实例自定义站点徽标。
遵循此 site_setting.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](https://github.com/discourse/discourse/blob/main/db/fixtures/010_uploads.rb) 中定义的整数索引:
-5 => "discourse-logo-sketch.png",
-6 => "discourse-logo-sketch-small.png",
在 UI 设置历史记录中,我找到了指向 /upload 目录的最新徽标和 logo_small 的引用。
例如:/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"
我的想法是在生产实例上为开发、测试和生产上传不同的徽标,然后在恢复生产备份后确保站点重建将指向特定实例的正确徽标。
非常感谢任何帮助。
2 个赞
nathank
(Nathan Kershaw)
2
我也走过这条路(虽然没那么远),原因也一样。
最终,我放弃了,并且接受了网站克隆之间区分度不佳的状况。
至少,服务器的卷相对容易重命名,这降低了犯下真正愚蠢错误的几率!!!