Как мигрировать Discourse с одного сервера на другой с тем же DNS-именем

Спасибо. Оказывается, миграция «lift n shift» была не такой чистой, как я думал: перед и после неё необходимо выполнить несколько проверок, чтобы обеспечить плавный переход (Postgres был обновлён с версии 12.0 до 13.0, что научило меня нескольким урокам в процессе миграции «lift n shift»). Ниже приведено пошаговое руководство для будущих ссылок для тех, кто хочет перенести данные на сервер Amazon LightSail (1 ГБ ОЗУ):

Исходный сервер

  • Создайте резервную копию в S3
  • cd /var/discourse
  • ./launcher rebuild # получите последнюю сборку для лёгкого перехода
  • ./launcher cleanup # очистите систему, чтобы удалить старые данные и уменьшить размер пакета
  • ./launcher stop app # если этого не сделать, при попытке пересборки позже с Postgres возникнет ошибка
  • tar -zcvf /var/discourse discourse.tar.gz

Новый сервер Amazon LightSail

  • Установите образ Ubuntu 20.20 от Amazon (1 ГБ ОЗУ)
  • Установите Docker
  • Создайте файл подкачки 2 ГБ # если этого не сделать, пересборка может завершиться ошибкой
  • Настройте vm.overcommit_memory=1 # если этого не сделать, при пересборке с Postgres может возникнуть ошибка
  • Через FTPS/transfer скопируйте discourse.tar.gz с исходного сервера
  • tar -zxvf discourse.tar.gz -C /
  • cd /var/discourse
  • Установите UNICORN_WORKERS в app.yml равным 2 # увеличение этого значения выше 2 при 1 ГБ ОЗУ может привести к использованию файла подкачки и замедлению работы из-за чрезмерной активности диска
  • ./launcher rebuild
  • Измените DNS, чтобы он указывал на новый сервер Amazon

Существует ли более простой способ миграции серверов (lift n shift) без необходимости проходить весь процесс настройки Discourse?