Comment migrer Discourse d'un serveur à un autre avec le même nom DNS

Merci. Apparemment, le déplacement « lift n shift » n’était pas aussi propre que je le pensais. Il y a quelques vérifications à effectuer avant et après pour garantir une opération de déplacement fluide (Postgres a été mis à niveau de la version 12.0 vers la 13.0, ce qui m’a appris quelques leçons sur le processus de déplacement). Voici un guide étape par étape pour référence future, à l’intention de ceux qui tentent de migrer vers un serveur Amazon LightSail (1 Go de RAM) :

Serveur d’origine

  • Créer une sauvegarde vers S3
  • cd /var/discourse
  • ./launcher rebuild # obtenir la dernière version pour faciliter la transition
  • ./launcher cleanup # nettoyer pour supprimer les anciennes données et réduire la taille du paquet
  • ./launcher stop app # ne pas le faire provoque une erreur lors de la reconstruction ultérieure avec Postgres
  • tar -zcvf /var/discourse discourse.tar.gz

Nouveau serveur Amazon LightSail

  • Installer l’image Ubuntu 20.20 depuis Amazon (1 Go de RAM)
  • Installer Docker
  • Créer un swap de 2 Go # ne pas le faire peut entraîner un échec de la reconstruction
  • Configurer vm.overcommit_memory=1 # ne pas le faire peut provoquer un échec avec Postgres lors de la reconstruction
  • Transférer discourse.tar.gz via FTPS depuis le serveur d’origine
  • tar -zxvf discourse.tar.gz -C /
  • cd /var/discourse
  • Définir UNICORN_WORKERS dans app.yml à 2 # augmenter cette valeur au-delà de 2 avec 1 Go de RAM risque de provoquer des échanges et un ralentissement dû à une activité disque excessive
  • ./launcher rebuild
  • Modifier le DNS pour qu’il pointe vers le nouveau serveur Amazon

Existe-t-il un moyen plus simple de migrer des serveurs (lift n shift) sans passer par le processus d’installation de Discourse ?