Pare de usar Amazon S3 para uploads

Não sou mais esperto que você, mas acabei de passar por isso — e consegui sair com a ajuda do @Pravi.

Os passos que você precisa seguir para voltar do upload S3 ao estado padrão

Não é super fácil — tenha muito cuidado com o texto e os links, pois se algo der errado, será uma bagunça difícil de arrumar. Mas é totalmente viável.

Passo 1 - Copie os arquivos do seu bucket S3 para a pasta public/uploads/default

Primeiro, instale o AWS CLI dentro do container do aplicativo:

cd /var/discourse
./launcher enter app
sudo apt install awscli

Configure o AWS com seu ID e senha do S3 (geralmente é simples):

aws configure

Em seguida, use o aws para copiar todo o conteúdo do bucket para public/uploads/default/:

aws s3 sync s3://my-bucket-name/ public/uploads/default/

Passo 2 - Remapeie a URL do S3

Isso é mais fácil encontrando uma imagem no seu fórum e inspecionando a URL. Você quer cada parte até o nome do arquivo real (incluindo o último /):

discourse remap //a-longa-url-em-suas-imagens-ate-o-nome-do-arquivo /uploads/default/

Passo 3 - Reassove os posts e reconstrua o aplicativo:

rake posts:rebake
exit
./launcher rebuild app

Passo 4 - Desative o S3

  1. Desative os uploads S3 nas configurações (ou no seu app.yml, se configurou dessa forma). Se você estiver usando um CDN, remova também o link dele da configuração (caso contrário, ele não será realmente desativado).
  2. Desative seu container. Fiz isso movendo o conteúdo para um novo container como backup como etapa inicial.

Ufa! Feito. Até agora, não encontrei nenhum problema. Vá e teste!

10 curtidas