Se você fizer as atualizações pela UX, eventualmente receberá uma mensagem dizendo que precisa fazer uma atualização pela linha de comando. Não depende do Debian, mas da imagem base do Discourse.
E com o método de 2 contêineres não haveria botão de atualização da GUI, correto?
A atualização da GUI vem do plugin discourse_docker. Se você tiver esse plugin, terá a atualização da GUI.
Quando há vulnerabilidades descobertas em ferramentas de manipulação de imagem, a exceção de código remoto definitivamente aconteceu no passado, o que significa que você está a um upload de imagem de um sistema comprometido.
O Clear Linux estabeleceu o padrão de quão rápido você pode inicializar no Linux. É um trabalho incrível, endosso de todo o coração.
Ah, isso muda um pouco as coisas então. Por algum motivo, eu estava pensando que o atualizador da GUI não funcionaria com uma instalação não padrão de 2 contêineres. Nesse caso, desde que o administrador seja tecnicamente competente, parece que não há muitas desvantagens em uma instalação de 2 contêineres. Eu definitivamente quero ter atualizações da GUI, por exemplo, se eu estiver viajando apenas com meu telefone e uma grande atualização de segurança do Discourse for lançada, eu posso pelo menos aplicá-la sem acesso SSH.
Essa é a minha crença. Você basicamente precisa prestar atenção o suficiente apenas para saber quando há uma atualização do Postgres ou Redis que exige a reconstrução do contêiner de dados. Você também precisa saber como executar ./launcher bootstrap web_only && ./launcher destry web_only; ./launcher start web_only, mas isso não é tão difícil. Você pode simplesmente executar um ./launcher rebuild web_only, mas isso tira o site do ar enquanto ele está sendo reconstruído.
Para completar: a interface web normalmente não tem tempo de inatividade; o bootstrap/destroy/start tem tempo de inatividade mínimo e eu só faria isso normalmente com uma página de manutenção fornecida externamente, como com nginx externo, conforme documentado aqui. Mas isso é uma boa prática de qualquer maneira, se apenas para obter endereços IPv6 no contêiner.
Muito bom, obrigado. E com uma instalação de 2 contêineres, você ainda recebe notificações do painel do Discourse quando o contêiner precisa ser reconstruído? E então, nesse caso, eu poderia determinar se devo reconstruir apenas o aplicativo ou também o contêiner de dados?
Sim. Eu a vejo agora porque não apliquei a atualização "apenas a versão mudou" 3.1.0.beta1. ![]()
Este é um caso de “está tudo bem até que não esteja” — as pessoas entram em pânico quando a atualização falha na interface do usuário e elas não sabem que precisam executar git pull; ./launcher rebuild app para contornar o problema. Isso acontece sempre que há uma alteração que invalida a atualização da GUI, eu acho. Aconteceu novamente:
Sinto que esse pânico destaca o valor de ter um mecanismo de atualização consistente e normal que evita essa experiência.
Ao mesmo tempo, encontrei o também infrequente caso em que o bootstrap quebra o sistema em execução: atualizações com tempo de inatividade zero ocasionalmente quebram assim, uma ou duas vezes por ano, talvez em média? Portanto, não demore entre o bootstrap e o destroy/start.
Devo atualizar o texto para deixar isso claro, então farei isso em seguida.
Ainda não implementei o LibreTranslate, mas estou considerando fazer isso para tornar meu site mais acessível internacionalmente.
Se eu conseguir fazer isso com sucesso, pretendo editar isso na postagem principal. ![]()