Como migrar o Discourse de um servidor para outro com o mesmo nome DNS

Obrigado. Aparentemente, o ‘lift n shift’ não foi tão limpo quanto eu pensava; há algumas verificações a serem feitas antes e depois para garantir uma operação suave de ‘lift n shift’ (o Postgres estava sendo atualizado da versão 12.0 para a 13.0, o que me ensinou algumas lições no processo de ‘lift n shift’). Aqui está um guia passo a passo para referência futura de quem está tentando migrar para um servidor Amazon LightSail (1GB de RAM):

Servidor Original

  • Crie um backup no S3
  • cd /var/discourse
  • ./launcher rebuild # obtenha a versão mais recente para uma transição fácil
  • ./launcher cleanup # limpe para remover dados antigos e reduzir o tamanho do pacote
  • ./launcher stop app # não fazer isso causa falha ao tentar reconstruí-lo depois com o Postgres
  • tar -zcvf /var/discourse discourse.tar.gz

Novo Servidor Amazon LightSail

  • Instale a imagem Ubuntu 20.20 na Amazon (1GB de RAM)
  • Instale o Docker
  • Crie uma swap de 2GB # não fazer isso pode causar falha na reconstrução
  • Configure vm.overcommit_memory=1 # não fazer isso pode causar falha com o Postgres durante a reconstrução
  • Use FTPS/transfer para copiar discourse.tar.gz do servidor original
  • tar -zxvf discourse.tar.gz -C /
  • cd /var/discourse
  • Defina UNICORN_WORKERS em app.yml para 2 # aumentar além de 2 com 1GB de RAM pode causar swapping e limitação devido à atividade excessiva do disco
  • ./launcher rebuild
  • Altere o DNS para apontar para o novo servidor Amazon

Existe uma maneira mais fácil de migrar servidores (lift n shift) sem precisar passar pelo processo de configuração do Discourse?