Então, eu estava seguindo o guia do Digital Ocean Spaces e comecei a procurar por provedores mais baratos para minha comunidade (muito) pequena. Percebi este post antigo, que me confundiu, pois eu acabara de olhar para o Backblaze B2 e vi que ele era compatível com S3. Acontece que eles lançaram o recurso 30 minutos antes de eu procurar (que sorte!). Então, decidi escrever um guia rápido sobre como fiz para que funcionasse com minha comunidade atual:
Passo 1: Configurando o Backblaze B2 Cloud Storage
Criar Conta
Acesse o B2 Cloud Storage e clique em “Sign Up Today”.
Gerar Chave de Aplicação
Clique em “App Keys” ou acesse esta página. Clique em “Add New Application Key”, dê um nome a ela e, em seguida, clique em “Create New Key”. Certifique-se de anotar o keyID e o applicationKey, pois eles ficarão ocultos assim que você sair da página.
Criar buckets para uploads e backups
Volte à página de buckets e crie os buckets desejados. Certifique-se de que o de uploads seja público e o de backups seja privado. (TODO: Testar criação automática a partir do Discourse)
Passo 2: Configurando o Discourse
Este passo segue em grande parte o guia do Digital Ocean Spaces, com as seguintes diferenças notáveis:
Use seu keyID da Chave de Aplicação no campo keyID do S3.
Use o applicationKey da Chave de Aplicação no campo secret access key do S3.
Use o endpoint do S3 fornecido na Chave de Aplicação.
Deixe o campo CDN em branco, a menos que você esteja fornecendo o seu próprio.
Para mais informações sobre a compatibilidade do Backblaze B2 com S3, veja este post no blog.
Então, a substituição pela Backblaze tem funcionado perfeitamente para você, sem nenhum problema?
Apenas vim aqui em busca de informações, pois notei que ela oferece 10 GB de espaço gratuito, o que reduziria meus custos de hospedagem. No entanto, precisaria migrar primeiro meu conteúdo S3 existente. Também estou curioso se alguém já migrou uma instância ao vivo do Discourse do S3 para a Backblaze.
Tópico antigo, mas este guia foi exatamente o que eu estava procurando. Tenho uma comunidade pequena também e tenho pensado em armazenar nossas imagens e backups na nuvem, em vez de no nosso servidor principal com o DigitalOcean. Isso deve ajudar nosso site a rodar de forma mais fluida, reduzindo a carga no servidor causada pelos arquivos de imagem.
Gosto da parceria do Backblaze com a Cloudflare, que permite transferência de dados gratuita. Já usamos o plano gratuito da Cloudflare para proteção contra DDoS. Com a transferência de dados sem custos, isso deve nos economizar dinheiro, pois só teremos que pagar pelo armazenamento. Vou tentar configurar isso em breve, incluindo a Cloudflare no processo.
Então, consegui fazer os backups funcionarem corretamente: o backup no Discourse está sendo enviado para meu bucket de backup na Backblaze.
No entanto, as imagens enviadas no Discourse não estão aparecendo no meu bucket de uploads na Backblaze. Tenho certeza de que está configurado como público.
Como acabei de configurar isso com sucesso usando o Cloudflare, achei por bem compartilhar minha experiência. O Cloudflare não é um CDN tradicional. Estou usando-o para proteção contra DDoS, SSL e cache. No entanto, para configurar o armazenamento S3, parece que você precisa de outro CDN. Usei o BunnyCDN, que é relativamente barato. Você configura uma zona de pull que aponta para a URL do seu bucket de uploads (criado no Backblaze).