Grazie @Falco, molto apprezzato! Ha funzionato perfettamente ![]()
Ho migrato su un nuovo server; sembra che sarebbe andato bene anche rimanere sullo stesso.
Nel caso in cui qualcun altro voglia farvi riferimento in futuro, ecco i passaggi in maggior dettaglio (nota: le mie impostazioni S3 erano solo nel file app.yml come specificato qui, senza personalizzazioni nelle impostazioni di amministrazione):
-
Sul sito di origine, se non si tratta di un rollback, abilita ‘disattiva email’ (potrebbe non essere necessario) e attiva la modalità sola lettura (ricorda di disattivarle sulla nuova istanza una volta completata la migrazione). Esegui un backup; una volta completato, valuta di fermare anche l’istanza vecchia (./launcher stop app). Indipendentemente dal fatto che si tratti di un rollback o meno, aggiorna i record DNS A per puntare all’IP del nuovo server. Puoi farlo in modo più elegante o in un ordine diverso per minimizzare i tempi di inattività; nel mio caso i tempi di inattività non erano un problema (rollback, forum non ancora lanciato).
-
Installa Discourse sul nuovo server e migra tutto ciò che è personalizzato in app.yml, incluse le impostazioni S3; assicurati che le versioni di Discourse siano uguali o molto simili.
-
Commenta queste due righe (le altre impostazioni S3 in app.yml possono rimanere invariate):
DISCOURSE_S3_BACKUP_BUCKET: BucketName
DISCOURSE_BACKUP_LOCATION: s3 -
Scarica manualmente il backup desiderato da S3 o da un servizio compatibile con S3.
-
Vai in /var/discourse/shared/standalone/backups e crea una nuova cartella chiamata ‘default’ se non esiste (non esiste se si tratta di una nuova installazione). Quindi, restando nella directory dei backup, esegui (questo cambia i permessi della cartella per corrispondere a quelli che avrebbe normalmente se Discourse avesse creato un backup locale - non sono sicuro che sia necessario):
chown -R 1000:www-data default -
Carica il backup nella cartella backups/default usando un client SFTP; non rinominare il file di backup.
-
Ricompila l’app:
cd /var/discourse
./launcher rebuild app -
Entra nell’app, abilita i backup e ripristina (rinomina BackupFileName.tar.gz):
./launcher enter app
discourse enable_restore
discourse restore BackupFileName.tar.gz
-
Una volta completato, decommenta le due righe relative al backup S3 in app.yml dal passaggio 2 e ricompila l’app.
-
Puoi eliminare la cartella locale backups/default e il backup contenuto (/var/discourse/shared/standalone/backups).
Riferimento: