Etapas envolvidas para fazer downgrade de 2GB para 1GB no DO?

Quando configurei minha instalação inicialmente, eu tinha a impressão de que precisava de um servidor de 2 GB. Aparentemente, esse não é o caso, com base em leituras adicionais desde então. Quais etapas estão envolvidas na redução de escala no Digital Ocean?

Espero poder apenas selecionar um novo plano e, em seguida, reconstruir o Discourse…

Olá Brandon :slight_smile:

1 GB é o mínimo absoluto. Não tenho certeza qual a diferença entre 1 e 2 fará para uma comunidade pequena, no entanto. Pessoalmente, eu preferiria ser cauteloso e não me ater ao mínimo estrito.

Para o downgrade do servidor, eu aconselharia perguntar diretamente ao DO.

Quando você constrói o Discourse, ele configura algumas coisas dependendo das especificações do servidor em app.yml.
Tipicamente:

  ## Quantas requisições web concorrentes são suportadas? Depende da memória e núcleos de CPU.
  ## será definido automaticamente pelo bootstrap com base nas CPUs detectadas, ou você pode substituir
  UNICORN_WORKERS: 4

Não sei se ele muda automaticamente o valor quando reconstruímos, ou se há algo mais manual a fazer.

Em qualquer caso, implantar um novo droplet e reinstalar o Discourse é tão fácil e rápido que não deve dar trabalho. Apenas mantenha uma cópia do seu app.yml em algum lugar para obter facilmente algumas informações úteis (informações do provedor de e-mail, lista de plugins, etc.) se você reinstalar.

  1. Crie o novo VPS
  2. Crie um arquivo de backup do site existente e baixe-o para a máquina local.
  3. Copie o conteúdo de app.yml do servidor antigo para um arquivo local ou no notepad.
  4. Aponte seu domínio para o novo IP do VPS, ou alterne o IP público que você já tinha no seu provedor de VPS se essa for uma funcionalidade.
  5. Certifique-se de que o docker está instalado no seu novo VPS (siga o guia deles para instalá-lo conforme necessário).
  6. Siga as instruções de instalação padrão até o ponto, mas não incluindo o script de configuração do Discourse.
  7. Crie o arquivo app.yml no diretório containers (touch app.yml) e cole o conteúdo do seu VPS antigo usando algo como nano.
  8. ./launcher app rebuild no novo servidor.
  9. Use rake admin:create do diretório Discourse para criar uma conta de administrador.
  10. Faça login, defina Allow Restore como true nas configurações, carregue o backup que você criou anteriormente e restaure.
  11. Verifique se tudo está bom.
  12. Exclua o VPS antigo após um tempo.

Feito.

Vale notar que, se o tamanho do armazenamento local permanecer o mesmo, é possível redimensionar um droplet para ter mais ou menos RAM. Mas o tamanho do armazenamento não pode diminuir, então para mover para um droplet com menos armazenamento seria necessário um backup e restauração.

Em qualquer caso, antes de qualquer migração, eu faria um backup e o baixaria.

No caso da DO, migrei para cima e para baixo com RAM, e de fato acho que fiz o mesmo com a Hetzner. O armazenamento local e o endereço IP permanecem os mesmos, apenas alguns minutos de inatividade.

Boas informações a todos.

Essencialmente, parece que preciso construir um novo servidor, não há maneira mais fácil de contornar isso. Então, precisarei examinar e comparar meu arquivo app.yml, depois fazer o upload do arquivo de backup. Finalmente, redirecionar os IPs.

Depois de ler suas respostas, encontrei algumas outras dicas úteis, já que preciso seguir este caminho.

Obrigado, sua lista de verificação foi muito útil!

Você pode querer adicionar uma etapa entre #8 e #9: ./launcher enter app