Estou prestes a atualizar nosso servidor de produção do Discourse (que hospedamos nós mesmos na EC2, conforme as instruções oficiais de instalação) e gostaria de confirmar a abordagem recomendada.
Não temos o botão de atualização habilitado na interface, portanto, a atualização será realizada na instância da EC2. Agora, acredito que existem duas principais maneiras de fazer isso:
Recriar nosso servidor EC2, que baixará uma cópia fresca do repositório GitHub discourse_docker e utilizará os modelos disponíveis, ou seja, o web.template.yml atualmente referencia a imagem base discourse/base:2.0.20260209-1300. Essa abordagem removerá o servidor em execução atual e iniciará o novo.
Fazer login no servidor EC2 existente e executar os seguintes comandos para recriar a imagem atual e reiniciar o contêiner:
./launcher rebuild app
Tenho duas perguntas:
Qual abordagem deve ser usada para manutenção normal?
Se executarmos o comando rebuild app, isso ainda baixa a branch main do repositório discourse_docker?
Li o site https://releases.discourse.org e posso ver que a versão 2026.3.0 ainda não foi lançada. Minha compreensão é que não devemos usar as versões mais recentes da branch main de um lançamento em produção, pois elas ainda estão em desenvolvimento ativo.
Se você deseja atualizar para a versão mais recente, basta realizar a atualização manualmente no painel de administração.
Se deseja atualizar para a versão esr, basta especificar esr no final do arquivo containers/app.yml
params:
version: esr
Em seguida, reconstrua o projeto.
Certifique-se de que a rede está funcionando corretamente.
Ao definir a versão como esr, isso substitui a imagem base utilizada nos modelos?
Não queremos que a atualização seja habilitada na interface de administração, então precisaremos de uma maneira de fazer isso na instância ou simplesmente reconstruindo a instância e permitindo que nosso AutoScaler gerencie isso.
Se usarmos esr, como ela será atualizada quando uma correção crítica for lançada? Novamente, devemos simplesmente reconstruir via launcher/nova instância EC2 mensalmente para incorporar quaisquer atualizações da versão esr?
Você leu Understanding Discourse release channels e Configure a supported tracking branch to get Discourse software updates? Eu descreveria a diferença mais como ter acesso às mudanças mais recentes imediatamente ou recebê-las um pouco depois. A última opção pode ser muito útil para desenvolvimentos personalizados que precisam ser adaptados primeiro. Caso contrário, eu preferiria acesso aos recursos e correções mais recentes. Claro, isso carrega o risco de novos bugs, mas a versão que foi congelada há três semanas também contém bugs que podem já ter sido corrigidos na versão mais recente, embora geralmente não sejam significativos o suficiente para justificar o backport para o último lançamento.
Lembre-se também de que o downgrade não é suportado; portanto, se você estiver em uma versão posterior ao ESR atual, precisará aguardar a publicação do próximo ESR.