Obrigado @Falco, agradeço muito! Funcionou perfeitamente ![]()
Migrei para um novo servidor, parece que teria ficado tudo bem permanecer no mesmo servidor também.
Caso alguém queira consultar isso mais tarde, os passos com mais detalhes foram (observe que minhas configurações do S3 estavam apenas no arquivo app.yml, conforme especificado aqui, sem nenhuma personalização nas configurações de administrador):
-
No site de origem, se não for um rollback, habilite ‘desativar e-mails’ (pode não ser necessário) e ative o modo somente leitura (lembre-se de reativar essas opções na nova instância assim que a migração for concluída). Crie um backup; quando terminar, considere parar a instância antiga também (./launcher stop app). Independentemente de ser um rollback ou não, atualize os registros A do DNS para apontar para o IP do novo servidor. Você pode fazer isso de forma mais elegante ou em uma ordem diferente para minimizar o tempo de inatividade; no meu caso, o tempo de inatividade não foi uma preocupação (rollback, fórum ainda não lançado).
-
Instale o Discourse no novo servidor e migre todas as configurações personalizadas do app.yml, incluindo as configurações do S3. Mantenha as versões do Discourse iguais ou muito próximas.
-
Comente estas duas linhas (outras configurações do S3 no app.yml podem permanecer como estão):
DISCOURSE_S3_BACKUP_BUCKET: BucketName
DISCOURSE_BACKUP_LOCATION: s3 -
Baixe manualmente o backup desejado do S3 ou de um serviço compatível com S3.
-
Navegue até /var/discourse/shared/standalone/backups e crie uma nova pasta chamada ‘default’ se ela não existir (ela não existirá se for uma instalação nova). Em seguida, estando no diretório de backups, execute (isso altera as permissões da pasta para corresponder ao que essa pasta teria normalmente se o Discourse tivesse criado um backup local — não tenho certeza se é necessário):
chown -R 1000:www-data default -
Faça o upload do backup para a pasta backups/default usando um cliente SFTP; não renomeie o arquivo de backup.
-
Reconstrua o app:
cd /var/discourse
./launcher rebuild app -
Acesse o app, habilite backups e restaure (renomeie BackupFileName.tar.gz):
./launcher enter app
discourse enable_restore
discourse restore BackupFileName.tar.gz
-
Após a conclusão, descomente as duas linhas de backup do S3 no app.yml do passo 2 e reconstrua o app.
-
Você pode excluir a pasta local backups/default e o backup contido nela (/var/discourse/shared/standalone/backups).
Referência: