Wie man Discourse auf einen anderen Server mit demselben DNS-Namen migriert

Danke. Offenbar war das ‚Lift and Shift’ nicht so sauber, wie ich dachte. Es müssen einige Checks vor und nach dem Vorgang durchgeführt werden, um einen reibungslosen ‚Lift and Shift’-Prozess zu gewährleisten (Postgres wurde von 12.0 auf 13.0 aktualisiert, was mir einige Lektionen im ‚Lift and Shift’-Prozess beigebracht hat). Hier ist eine schrittweise Anleitung für zukünftige Referenz für alle, die auf einen Amazon LightSail-Server (1 GB RAM) umziehen möchten:

Originalserver

  • Backup auf S3 erstellen
  • cd /var/discourse
  • ./launcher rebuild # Neuesten Build für einen einfachen Übergang holen
  • ./launcher cleanup # Aufräumen, um alte Daten zu entfernen und die Paketgröße zu reduzieren
  • ./launcher stop app # Unterlassung führt zu einem Fehler beim späteren Rebuild mit Postgres
  • tar -zcvf /var/discourse discourse.tar.gz

Neuer Amazon LightSail-Server

  • Ubuntu 20.20-Image von Amazon installieren (1 GB RAM)
  • Docker installieren
  • 2 GB Swap erstellen # Unterlassung kann zum Scheitern des Rebuilds führen
  • vm.overcommit_memory=1 konfigurieren # Unterlassung kann zu einem Fehler mit Postgres während des Rebuilds führen
  • discourse.tar.gz per FTPS/Transfer vom Originalserver übertragen
  • tar -zxvf discourse.tar.gz -C /
  • cd /var/discourse
  • UNICORN_WORKERS in app.yml auf 2 setzen # Erhöhung über 2 hinaus bei 1 GB RAM birgt das Risiko von Swapping und Drosselung aufgrund übermäßiger Festplattenaktivität
  • ./launcher rebuild
  • DNS so ändern, dass er auf den neuen Amazon-Server zeigt

Gibt es eine einfachere Möglichkeit, Server zu migrieren (Lift and Shift), ohne den kompletten Discourse-Einrichtungsprozess durchlaufen zu müssen?