Merci @Falco, je vous en suis reconnaissant ! Tout s’est passé parfaitement ![]()
J’ai migré vers un nouveau serveur, mais il semble que rester sur le même serveur aurait aussi fonctionné.
Au cas où quelqu’un d’autre souhaiterait se référer à cela plus tard, voici les étapes détaillées (notez que mes paramètres S3 étaient simplement dans le fichier app.yml comme spécifié ici, sans aucune personnalisation dans les paramètres d’administration) :
-
Sur le site source, si ce n’est pas un retour en arrière, activez « désactiver les e-mails » (peut-être pas nécessaire) et passez en mode lecture seule (n’oubliez pas de réactiver ces options sur la nouvelle instance une fois la migration terminée). Créez une sauvegarde ; une fois celle-ci terminée, envisagez d’arrêter l’ancienne instance également (./launcher stop app). Que ce soit un retour en arrière ou non, mettez à jour les enregistrements DNS A pour qu’ils pointent vers l’adresse IP du nouveau serveur. Vous pouvez le faire de manière plus élégante ou dans un ordre différent pour minimiser les temps d’arrêt ; dans mon cas, les temps d’arrêt n’étaient pas un problème (retour en arrière, forum non encore lancé).
-
Installez Discourse sur le nouveau serveur et migrez tout ce qui est personnalisé dans app.yml, y compris les paramètres S3. Assurez-vous que les versions de Discourse soient identiques ou très proches.
-
Commentez ces deux lignes (les autres paramètres S3 dans app.yml peuvent rester tels quels) :
DISCOURSE_S3_BACKUP_BUCKET: BucketName
DISCOURSE_BACKUP_LOCATION: s3 -
Téléchargez manuellement la sauvegarde souhaitée depuis S3 ou un service compatible S3.
-
Accédez à /var/discourse/shared/standalone/backups et créez un nouveau dossier nommé « default » s’il n’existe pas (il n’existera pas dans le cas d’une nouvelle installation). Ensuite, toujours dans le dossier backups, exécutez la commande suivante (cela modifie les permissions du dossier pour qu’elles correspondent à celles qu’il aurait normalement si Discourse avait créé une sauvegarde locale — je ne suis pas sûr que cela soit nécessaire) :
chown -R 1000:www-data default -
Téléversez la sauvegarde dans le dossier backups/default à l’aide d’un client SFTP, sans renommer le fichier de sauvegarde.
-
Reconstruisez l’application :
cd /var/discourse
./launcher rebuild app -
Accédez à l’application, activez les sauvegardes et restaurez (renommez BackupFileName.tar.gz) :
./launcher enter app
discourse enable_restore
discourse restore BackupFileName.tar.gz
-
Une fois terminé, décommentez les deux lignes relatives aux sauvegardes S3 dans app.yml (étape 2) et reconstruisez l’application.
-
Vous pouvez supprimer le dossier local backups/default et la sauvegarde qu’il contient (/var/discourse/shared/standalone/backups).
Référence :