Mova sua instância do Discourse para um servidor diferente

:bookmark: Este é um guia para mover sua instância do Discourse de um servidor para outro, incluindo todas as configurações e dados. Este guia se aplica a instâncias do Discourse auto-hospedadas que usam Docker.

:person_raising_hand: Nível de usuário necessário: Administrador do Sistema

:warning: Este procedimento envolve alterações de domínio e DNS. Certifique-se de ter acesso tanto ao servidor de origem quanto ao de destino.

Este guia o orientará no processo de migração de sua instância do Discourse de um servidor para outro, garantindo que seus dados, configurações e estrutura sejam preservados.

Isenção de responsabilidade adicionada por @pfaffman 2025-09-12T05:00:00Z.

Essas instruções não funcionam bem agora porque você está usando https e Let’s Encrypt, o que exige que o novo servidor tenha o DNS apontado para ele para que possa solicitar chaves. O que eu recomendo é seguir o Mover um site Discourse para outro VPS com rsync (talvez usando --exclude postgres* e depois fazendo backup e restaurando o banco de dados pela linha de comando.) Isso é interessante, pois se você souber como, poderá ajustar seu DNS local para apontar para o novo servidor para que possa testar se está funcionando enquanto o resto da internet ainda vê o site antigo.

Resumo

Você executará as seguintes etapas principais neste guia:

  1. Faça backup de sua instância atual do Discourse (servidor de origem).
  2. Transfira o arquivo de backup para sua instância de destino do Discourse (servidor de destino).
  3. Restaure o backup no servidor de destino.
  4. Atualize as configurações de DNS (se aplicável).

Ajustando as configurações de DNS (quando necessário)

Se você estiver usando o mesmo domínio para o novo servidor, reduza o TTL (tempo de vida) em sua entrada de DNS com antecedência. Isso garante o tempo de inatividade mínimo durante a propagação dos registros de DNS atualizados. Se você for usar um novo domínio, esta etapa pode ser ignorada.

Fazendo login e preparando o servidor de origem

  1. Faça login em sua instância de origem do Discourse com uma conta que tenha permissões de administrador.
  2. Certifique-se de que tanto o servidor de origem quanto o de destino estejam usando:
    • A mesma versão do Discourse.
    • O mesmo conjunto de plugins.
  3. Atualize a versão do Discourse em ambos os servidores visitando /admin/upgrade.

:exclamation: Evite restaurar um backup mais recente em uma versão mais antiga do Discourse, ou versões incompatíveis do PostgreSQL, pois isso pode causar erros.

Criando e baixando o backup

  1. Navegue até /admin/backups em sua instância de origem do Discourse.
  2. Clique no botão Backup para criar um backup:
  3. Quando solicitado, confirme clicando em Yes (Sim).
  4. Assim que o backup for concluído, vá para a aba Backup files (Arquivos de backup) e localize o backup recém-criado.
  5. Clique em Download (Baixar) para receber um e-mail com um link para download. Clique no link no e-mail para salvar o arquivo de backup localmente.

:warning: Antes de prosseguir, revise seu arquivo app.yml para garantir que quaisquer configurações opcionais, como configurações de CDN, plugins instalados ou suporte a HTTPS, sejam consistentes entre os servidores de origem e destino.

Restaurando o backup no servidor de destino

:bulb: Para restaurar o backup pela linha de comando, consulte a documentação relevante.

  1. Faça login como administrador em sua instância de destino do Discourse.
  2. Navegue até /admin/backups/settings e ative a configuração allow restore (permitir restauração).
  3. Vá para /admin/backups e clique na aba Backup files (Arquivos de backup). Carregue o arquivo de backup que você baixou anteriormente clicando no botão Upload (Carregar):
  4. Após o carregamento ser concluído, clique no menu ⋮ (mais opções) ao lado do backup carregado e, em seguida, clique em Restore (Restaurar):
  5. Confirme clicando em Yes (Sim) quando solicitado.

O processo de restauração começará. Isso pode levar algum tempo, dependendo do tamanho do seu banco de dados. Após a conclusão do processo, você será desconectado automaticamente.

Finalizando e fazendo login

  1. Faça login em sua instância de destino do Discourse com suas credenciais de administrador.
  2. Se o site foi feito backup usando HTTPS, certifique-se de que o HTTPS esteja ativado no novo servidor. Se não estiver configurado corretamente, use o console do Rails para desativar temporariamente a configuração “force https” (forçar https).
  3. Reative quaisquer configurações opcionais editando o arquivo app.yml e reconstruindo sua instância. Isso pode incluir:
    • Ativação do suporte a CDN.
    • Instalação de plugins adicionais.
    • Configuração de HTTPS.

Problemas comuns e soluções

O arquivo de backup não está restaurando

  • Verifique se as versões do Discourse e do PostgreSQL correspondem entre os servidores de origem e de destino.

Impossível fazer login após a restauração (com HTTPS ativado)

  • Use o console do Rails para desativar force_https temporariamente executando:
    SiteSetting.force_https = false
    
74 curtidas
How to migrate Discourse to new server
How to migrate my Discourse instance to a fresh new install
Move Discourse to a new server without setting up the web UI first?
Transfer from bitnami to normal discourse
Can I restore backups from older Discourse versions?
How to migrate the discourse container to another machine
Update from 2.9.0 beta2 to beta4 failed (my site is down)
Images lost when migrating to self-hosting
How to downgrade a Digital Ocean Virtual
How to backup and restore a whole /var/discourse app folder?
Exporting an AWS instance
Preserving user sessions when migrating between hosts
Postgres failing to update?
Migrate from VPS to a Dedicated
Site migration and plugins
How to migrate Discourse from one server to another with the same DNS name
Migrate a NodeBB forum with MongoDB to Discourse
Migrate a Ning forum to Discourse
Migrate a Phorum forum to Discourse
Migrate a PunBB forum to Discourse
Migrate from another forum to Discourse
Migrate a Kunena 3 forum to Discourse
Preserve user sessions when migrating to a new host
How do I move the discourse installed server to another server without loss?
Can snapshots be used when upgrading the host OS?
Unknown Primary Key
How to switch Discourse servers?
" undefined method `deprecated?' for nil:NilClass" on rebuild
How to switch Discourse servers?
Some settings aren't saving
Steps involved to downgrade from 2GB to 1GB on DO?
Moving to Another VPS Provider
Getting "permission denied" on new VPS install
How Do I transfer Discourse between servers?
Multi-instance migration failed when adding a new instance
Help Needed Migrating Discourse Forum to New Shanghai Server – db:migrate Error
Plesk server migration
Seeing "welcome to nginx" after backup restore
Issues while migrating from Kunena
Moving to New Server woes
Error: Can't notify admin while restoring backup during a migration to a fresh install
How to migrate from one Digitalocean Droplet to a another Droplet in a different Digitalocean account
How might we better structure #howto?
Trouble with postgre(maybe)
Move Digital Ocean 1-Click install to Standard supported install
Can I retain my forum content if I change its original IP?
Server upgrade from ubuntu 18 to 20
How to move Discourse to a different server when using Digital Ocean's Volumes (Block Storage)
How to migrate Discourse Forum data (Topics, Chat, and Configuration) to another server
How to clone Discourse server to a new server?
Move from standalone container to separate web and data containers
How do I move the discourse installed server to another server without loss?
Migrate a phpBB3 forum to Discourse
Migrate a vBulletin 4 forum to Discourse
Migrate from GetSatisfaction to Discourse
Migrate a NodeBB forum with Redis to Discourse
Migrate a MyBB forum to Discourse