Configurar logo, logo_small como código

Prezada comunidade do Discourse.

Recentemente, automatizei a implantação e restauração de backups de produção em instâncias de desenvolvimento e teste do fórum Discourse.
Isso permite ter dados idênticos em todos os sites.
No entanto, gostaria de personalizar o logotipo do site dependendo da instância.

Seguindo este site_setting.yml conforme anunciado neste outro tópico: Comprehensive list of SiteSettings?

Consegui configurar as configurações-chave dos sites com diferentes variáveis.
No entanto, a parte do logotipo não é muito bem documentada, então tentei várias abordagens.

...
# Available options:
#
# default               - The default value of the setting. For upload site settings, use the id of the upload seeded
#                         in db/fixtures/010_uploads.rb.
...

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

Basicamente, o padrão parece ser um índice inteiro, conforme definido em [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",

No histórico de configurações da interface do usuário, encontrei a referência ao último logotipo e logo_small como links para o diretório /upload.

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

Em meu arquivo .yml de configurações do aplicativo, comecei experimentando com o valor padrão:

  # Backup
  DISCOURSE_s3_backup_bucket: "backup-test"

  # Logo
  DISCOURSE_logo: -5
  DISCOURSE_logo_small: -6

Configurando DISCOURSE_logo e DISCOURSE_logo_small para o padrão, conforme especificado em site_settings.yml.

reconstruir o site causou alguns erros 500 e o site não estava mais operacional.
Também tentei passar uma referência de string para o upload que eu gostaria que fosse o logotipo desta instância específica, infelizmente com o mesmo efeito, um site inutilizável.

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

Minha linha de raciocínio foi fazer upload de logotipos diferentes para dev, test e prod na instância de produção, então, após restaurar o backup produtivo, garantir que a reconstrução do site aponte para o logotipo correto para a instância específica.

Qualquer ajuda seria muito apreciada.

2 curtidas

Eu também segui por esse caminho (embora não tão longe) pelas mesmas razões.

Eventualmente, desisti e convivi com a pouca diferenciação entre os clones do site.

Pelo menos é relativamente fácil renomear os volumes dos servidores, o que reduz a probabilidade de fazer algo realmente estúpido!!!