Nada funcionou 100% para mim, infelizmente. O que você fez no final?
Alguma ideia de como isso pode funcionar nas versões 3.x de hoje? Ainda tenho um monte de imagens no S3 que preciso encontrar uma maneira de trazer de volta para o local. Aberto a sugestões. (o rake uploads:migrate_from_s3 não existe mais)
Configurei tudo para funcionar localmente (apenas backups estão no S3). Encontrei muitas postagens ainda apontando para o S3 com links como:
<img src="//x.amazonaws.com/original/1X/afda2721f64341ca46576020acae7aaee92bd9d3.PNG" width="308" height="206">
que aponta para
https://xxx.amazonaws.com/original/1X/afda2721f64341ca46576020acae7aaee92bd9d3.PNG
Você tem alguma sugestão sobre este assunto? Estou realmente cansado de ter problemas a cada atualização ou mudança ![]()
Não resolvido. Seria bom se o discourse tivesse uma solução
Ah. Se for o seu site e você tiver seus arquivos no S3, então você deve ser capaz de ativar o S3, habilitar a configuração oculta descrita em Enable hidden setting to include S3 uploads in the backups, fazer um backup, alterar a configuração para imagens locais e restaurar o backup.
Adoraria saber se alguém conseguiu fazer isso funcionar.
Funciona para todos os sites que migram da hospedagem Discourse.org para auto-hospedagem (e tiveram essa configuração ativada antes de obterem seu backup).
É um pouco complicado, pois você precisa ter todas as configurações do S3 definidas (em seu arquivo YML) ao criar o backup e, em seguida, desativar todas elas (em todos os lugares, incluindo o banco de dados, se você as configurou lá) antes de fazer a restauração.
É um método muito lógico, mas não funciona para quem usa Cloudflare R2. Ou este problema é só comigo. Quando fiz backup, também ativei a configuração oculta. Infelizmente, ele não inclui os arquivos no R2 no backup. Ele dá o erro aqui: Uploads in cloudflare R2 are not added to the backup: Failed to download ******* because Aws::S3::Errors::Http501Error
A documentação e sua experiência sugerem que o R2 não é suportado, então você precisará resolver o problema de outra forma.
Eu pensei que estava funcionando para mim, mas não testei com muito cuidado e não o usei além de um teste trivial de fumaça.
Se o backup não conseguir baixar os arquivos do R2, você precisará usar alguma outra ferramenta para recuperar os arquivos do R2 e, em seguida, enviá-los para seu novo bucket e, em seguida, atualizar o banco de dados manualmente (você pode pesquisar tópicos usando a tarefa rake remap, eu acho).
Este é um processo complexo, então você precisará entender bastante sobre R2, S3 e Uploads do Discourse. Provavelmente será difícil explicar seus problemas exatos com especificidade suficiente para que você possa obter uma solução em um fórum.
Eu baixo os arquivos manualmente e os carrego para o servidor. Para aqueles que perguntam como fazer isso, você pode se conectar a contas S3 com o programa winscp. Depois, você pode importar facilmente os arquivos para o seu computador. Depois, eu o carreguei para o local e recriei os tópicos, ele mostrou 0 posts. Ele não agiu. Eu o mudei algumas vezes e também não encontrou nada. Talvez eu tenha perdido um ponto, não quero dizer isso sem testar novamente, talvez tenha sido minha culpa. Se eu tentar novamente, escreverei os resultados. Obrigado.
Obter os arquivos para o seu servidor é apenas (a parte fácil) do problema.
Você pode ver os uploads com
cd /var/discourse
./launcher enter app
rails c
Upload.pluck(:url)
Isso mostrará os URLs dos seus uploads. Então, você precisará modificar todos esses uploads para que eles tenham o novo caminho para o seu novo bucket. Você pode tentar procurar pelo comando remap. Acho que pode funcionar.
Eu fiz o upload para o local e recriei os tópicos,
Não tenho certeza do que isso significa.
altere a configuração para imagens locais
Você pode me dizer como fazer esta parte, você quer dizer apenas desativar a configuração de upload S3 em backups ou algo mais?
Configure um provedor de armazenamento de objetos compatível com S3 para uploads descreve como configurar o S3 adicionando ao seu app.yml. Se você não fez isso dessa maneira, então desative tudo o que tem a ver com S3 nas configurações do site e faça isso dessa maneira.
Se você fez isso dessa maneira, então apenas comente essas configurações (ou talvez apenas o use_s3 e o bucket de upload).