Que diz para atualizar a cada duas semanas, a cada poucos meses você deve atualizar via
Se você auto-hospeda o Discourse, ocasionalmente precisa executar uma atualização manual pela linha de comando para obter os últimos lançamentos de segurança e as bibliotecas mais recentes. Essas atualizações não são capturadas em admin/update, e é por isso que você ocasionalmente precisará fazer essa etapa adicional.
Existem alguns outros tópicos que falam sobre admin->update vs. atualização via ssh/console, nenhum deles deixa claro quais atualizações não podem ser feitas no navegador.
Minha experiência tem sido que em 9 meses de execução do Discourse, uma atualização via web/admin falhou, encontrei o artigo acima, executei os comandos indicados em uma sessão ssh.
Existe uma maneira melhor de saber qual método usar do que “o método mais fácil falha”?
Meu próprio hábito, agora, é sempre usar a linha de comando. Anteriormente, eu usava a interface web, mas como ela pode não funcionar e me dá menos controle e visibilidade, não me incomodo mais.
Mas meus fóruns têm um tráfego bastante baixo e um pouco de inatividade não é um grande problema.
Também é digno de nota que me sinto confortável na linha de comando. Mas, então, todo administrador de discourse terá que usar a linha de comando em algum momento.
Obrigado, isso é útil. Eu imaginei que a linha de comando poderia ser mais rápida (menos tempo de inatividade/monitoramento do tempo do processo).
Consideramos uma interface web/GUI para atualizações como um grande diferencial, porque, por mais que eu tenha décadas de experiência em codificação e administração Unix/Linux, também sou um ponto único de falha na organização, então foi uma decepção saber que algumas atualizações exigem linha de comando.
Tudo bem, é uma ótima plataforma, mais do que vale o preço de entrada
Parece uma boa ideia estar preparado para uma atualização pela linha de comando, mesmo que esteja prestes a tentar uma pela web. Pessoalmente, verifico este fórum antes, para ver se alguém está tendo alguma dificuldade no momento. Pode acontecer que a base de código esteja temporariamente quebrada. Além disso, sempre faço um backup e o baixo antes de começar.
Não entendo completamente o Docker (um eufemismo), mas entendo que se você se encontrar com um fórum meio atualizado que não está funcionando, você pode, de alguma forma, iniciar a versão pré-atualização enquanto espera por ajuda. (Procurei por “reiniciar o contêiner antigo”, mas não encontrei as informações exatas para isso.)
./launcher start app deve trazer de volta a versão anterior à reconstrução se uma falhar no meio.
Embora eu atualize pela interface do usuário na maioria das vezes. Dessa forma, não há tempo offline. Ocasionalmente, você precisará atualizar pela linha de comando, mas geralmente será solicitado a fazer isso após atualizar o gerenciador do Docker e antes de tentar atualizar o próprio Discourse.
Normalmente, se uma reconstrução da linha de comando for necessária, a UX o avisará e recusará a atualização. No entanto, isso nem sempre acontece.
Tenho um dashboard.literatecomputing.com que faz reconstruções da linha de comando com um clique. Embora eu espere que as pessoas me paguem para usá-lo (e obtenham meu suporte), por um “tempo limitado”, você pode entrar no grupo de Teste Gratuito e usá-lo gratuitamente. Ele lida com um número razoável de problemas, como remover plugins que foram movidos para o núcleo, atualizações do Postgres, reiniciar o contêiner antigo se a reconstrução falhar, atualizar apenas o contêiner da web se for uma instalação de 2 contêineres e assim por diante.
Ponto válido, sou um pouco mais paranoico, executo um snapshot do sistema antes e depois das atualizações, além dos backups da aplicação Discourse. … Provavelmente deveria aprender mais sobre como restaurar a partir de backups.
Ainda não usei um snapshot… Tenho a sensação de que é uma opção com custo extra.
Mas sinto que é importante baixar esse backup: se a instância quebrar completamente, se minha conta for cancelada e o provedor excluir tudo que eu estava usando, eu ainda terei meu fórum, e em um formato que posso restaurar com qualquer provedor que eu escolher.
Capturas de tela do sistema (acho que) exigem tempo de inatividade enquanto as estão tirando e são um exagero. Uma cópia do seu app.yml e o arquivo de backup são tudo o que você precisa. Se os backups estiverem no S3, tudo o que você precisa é do seu app.yml para iniciar um novo servidor e restaurar os dados.
Snapshots definitivamente exigem tempo de inatividade, e meus snapshots custam alguns dólares por mês para manter em mãos.
Eu também faço backups, no entanto, após ter tentado recuperar um discourse quebrado uma vez a partir de um backup feito em um momento conhecido, estou usando cinto + suspensórios.