Questa è una guida per spostare la tua istanza Discourse da un server all’altro, incluse tutte le impostazioni e i dati. Questa guida si applica alle istanze Discourse self-hosted che utilizzano Docker.
Livello utente richiesto: Amministratore di sistema
Questa procedura comporta modifiche al dominio e al DNS. Assicurati di avere accesso sia al server di origine che a quello di destinazione.
Questa guida ti illustra il processo di migrazione della tua istanza Discourse da un server all’altro, assicurando che i tuoi dati, le impostazioni e la configurazione vengano preservati.
Disclaimer aggiunto da @pfaffman 2025-09-12T05:00:00Z.
Queste istruzioni non funzionano bene ora perché stai usando https e let’s encrypt, che richiedono che il nuovo server abbia il DNS puntato su di esso in modo che possa richiedere le chiavi. Ciò che raccomando è seguire Move a Discourse site to another VPS with rsync (forse usando --exclude postgres* e poi eseguendo il backup e il ripristino del database dalla riga di comando.) Questo è intelligente poiché se sai come, puoi modificare il tuo DNS locale per puntare al nuovo server in modo da poter testare che funzioni mentre il resto di internet vede ancora il sito vecchio.
Sommario
Eseguirai i seguenti passaggi chiave in questa guida:
- Esegui il backup della tua attuale istanza Discourse (server di origine).
- Trasferisci il file di backup sulla tua istanza Discourse di destinazione (server di destinazione).
- Ripristina il backup sul server di destinazione.
- Aggiorna le impostazioni DNS (se applicabile).
Regolazione delle impostazioni DNS (quando richiesto)
Se stai utilizzando lo stesso dominio per il nuovo server, riduci il TTL (time to live) sulla tua voce DNS in anticipo. Ciò garantirà un tempo di inattività minimo durante la propagazione dei record DNS aggiornati. Se utilizzerai un nuovo dominio, questo passaggio può essere omesso.
Accesso e preparazione del server di origine
- Accedi alla tua istanza Discourse di origine con un account che dispone di privilegi di amministratore.
- Assicurati che sia il server di origine che quello di destinazione stiano utilizzando:
- La stessa versione di Discourse.
- Lo stesso insieme di plugin.
- Aggiorna la versione di Discourse su entrambi i server visitando
/admin/upgrade.
Evita di ripristinare un backup più recente su una versione di Discourse precedente, o versioni PostgreSQL incompatibili, poiché ciò potrebbe causare errori.
Creazione e download del backup
- Naviga su
/admin/backupssulla tua istanza Discourse di origine. - Clicca sul pulsante Backup per creare un backup:
- Quando richiesto, conferma cliccando su Sì.
- Una volta completato il backup, vai alla scheda File di backup e individua il backup appena creato.
- Clicca su Download per ricevere un’email con un link per il download. Clicca sul link nell’email per salvare il file di backup localmente.
Prima di procedere, esamina il tuo file
app.ymlper assicurarti che tutte le impostazioni opzionali, come le configurazioni CDN, i plugin installati o il supporto HTTPS, siano coerenti tra il server di origine e quello di destinazione.
Ripristino del backup sul server di destinazione
Per ripristinare il backup tramite la riga di comando, consulta la documentazione pertinente.
- Accedi come amministratore alla tua istanza Discourse di destinazione.
- Naviga su
/admin/backups/settingse abilita l’impostazioneallow restore. - Vai su
/admin/backupse clicca sulla scheda File di backup. Carica il file di backup che hai scaricato in precedenza cliccando sul pulsante Upload:
- Dopo che il caricamento è completato, clicca sul menu ⋮ (altre opzioni) accanto al backup caricato, quindi clicca su Restore (Ripristina):
- Conferma cliccando su Sì quando richiesto.
Il processo di ripristino avrà inizio. Potrebbe volerci del tempo a seconda delle dimensioni del tuo database. Dopo il completamento del processo, sarai automaticamente disconnesso.
Finalizzazione e accesso
- Accedi alla tua istanza Discourse di destinazione con le tue credenziali di amministratore.
- Se il sito è stato sottoposto a backup utilizzando HTTPS, assicurati che HTTPS sia abilitato sul nuovo server. Se non configurato correttamente, utilizza la console Rails per disabilitare temporaneamente l’impostazione “force https”.
- Riabilita eventuali configurazioni opzionali modificando il file
app.ymle ricostruendo la tua istanza. Questo potrebbe includere:- Abilitazione del supporto CDN.
- Installazione di plugin aggiuntivi.
- Impostazione delle configurazioni HTTPS.
Problemi comuni e soluzioni
Il file di backup non viene ripristinato
- Verifica che le versioni di Discourse e PostgreSQL corrispondano tra il server di origine e quello di destinazione.
Impossibile accedere dopo il ripristino (con HTTPS abilitato)
- Utilizza la console Rails per disabilitare temporaneamente
force httpseseguendo:SiteSetting.force_https = false



