Configuração de Implantação de Discurso Opinativo do MKJ

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.

2 curtidas

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.

1 curtida

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.

1 curtida

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.

2 curtidas

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?

1 curtida

Sim. Eu a vejo agora porque não apliquei a atualização "apenas a versão mudou" 3.1.0.beta1. :slightly_smiling_face:

1 curtida

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. :smiling_face:

2 curtidas