Melhores práticas para personalizar a implantação

É comum editar app.yml para ajustar as configurações do Discourse.

Além disso, em How to avoid throttling limits with admin API key? - #7 by aas descobri que preciso modificar a configuração do nginx para evitar a limitação de taxa de requisições da API.

Minha pergunta é, quais são as melhores práticas recomendadas para coisas como:

  • Versionamento de arquivos como app.yml
    • Eu precisaria versioná-lo fora de /var/discourse e movê-lo para /var/discourse/containers/ sempre que o alterasse.
  • Modificar, substituir ou adicionar novos templates
    • templates/web.ratelimited.template.yml não é ignorado pelo git. Embora não tenha mudado em 6 anos, editá-lo diretamente não parece sensato. É possível que ./launcher rebuild o sobrescreva. Ou os comandos git pull falhariam.

Possível solução:

  • Criar meu próprio repositório git com app.yml e um template.
  • Escrever uma GitHub action que use Ansible para copiar app.yml para /var/discourse/containers/ e também copie o template para o servidor que executa o Discourse

Perguntas

  • Onde seria um bom lugar para colocar meu template personalizado?

Parece que posso adicionar seções replace diretamente em app.yml em vez de usar templates, como mencionado aqui:

Sim, você pode dizer que com o App.yml você pode criar cópias de backup e nomeá-las de acordo com suas necessidades.

Se você estiver alterando uma seção específica, também poderá adicionar comentários. Eu, como auto-hospedado, tenho meus plugins organizados por oficial, pavilion e outros. Adiciono um comentário ao instalar um novo plugin na seção apropriada.

Outros, no entanto, podem ter ideias melhores do que as minhas.