Os buckets do Cloudflare R2 podem ser usados para armazenar ativos estáticos como imagens e GIFs para a comunidade Discourse, mas não podem ser usados para armazenar backups da comunidade!
Introdução:
O armazenamento de objetos Cloudflare R2 pode ser usado como uma alternativa ao Amazon S3 para armazenar uploads para o seu fórum Discourse. As etapas a seguir descrevem como configurar isso.
Etapas de Configuração:
Habilitar uploads S3: Marque a caixa para habilitar uploads S3 nas configurações do seu Discourse.
ID da chave de acesso S3: Insira o ID da chave de API para o seu bucket de armazenamento R2. Este é o ID fornecido quando você criou um token de API para o seu bucket.
Chave de acesso secreta: Insira a chave secreta que foi fornecida quando você criou o token de API concedendo acesso ao seu bucket de armazenamento. Importante: Esta chave secreta é exibida apenas uma vez, portanto, certifique-se de fazer backup dela com segurança.
Região S3: Você pode inserir qualquer região, não importa para R2.
Bucket de upload S3: Insira o nome do seu bucket de armazenamento R2.
Endpoint S3: Insira o link da API S3 para o seu bucket R2, que está no formato https://xxxxxx.com. Consulte o painel do Cloudflare R2 para encontrar este link.
URL do CDN S3: Insira a URL pública do bucket de armazenamento R2.dev para o seu bucket. Isso também será encontrado no seu painel do Cloudflare R2.
Conclusão:
Assim que essas configurações forem configuradas, seu fórum Discourse estará configurado para usar o Cloudflare R2 para armazenamento.
Informações sobre o Nível Gratuito:
O serviço R2 da Cloudflare oferece um nível gratuito que inclui 10 GB de armazenamento, 1 milhão de uploads e 1 milhão de operações de leitura por mês.
Obrigado pelo seu feedback. Li atentamente o guia anteriormente e acredito que o conselho sobre o Cloudflare R2 está incorreto. O artigo sugere que a comunidade Discourse não suporta buckets Cloudflare R2. No entanto, na realidade, o Cloudflare R2 é altamente compatível com S3 e pode lidar perfeitamente com uploads e downloads de imagens e arquivos para a comunidade Discourse. Isso foi verificado através de aplicação prática em minha comunidade (starorigin.net).
E suspeito que isso era verdade quando foi escrito.
É muito melhor colocar as configurações do S3 no arquivo yml do que configurá-las através da UX e armazená-las no banco de dados. Você já tentou restaurar seu banco de dados para um novo servidor?
Depois de configurar as coisas da maneira recomendada, você pode editar esse tópico ou fazer um comentário e pedir a outra pessoa para fazê-lo.
Você está certo, eu uso um bucket de armazenamento Cloudflare R2 para armazenar as imagens, GIFs e outros recursos da minha comunidade. Isso reduz muito a carga no servidor da comunidade e acelera o carregamento das páginas.
Eu não configurei backups automáticos para minha comunidade serem armazenados no bucket de armazenamento Cloudflare R2 porque os buckets Cloudflare R2 não suportam o armazenamento de arquivos compactados. No entanto, o armazenamento Cloudflare R2 pode armazenar os PDFs, imagens, GIFs e outros recursos estáticos da comunidade, o que também é muito bom.
Os buckets Cloudflare R2 podem ser usados para armazenar ativos estáticos como imagens e GIFs para a comunidade Discourse, mas não podem ser usados para armazenar backups da comunidade!
Apenas para atualizar esta postagem, tive alguns imprevistos que precisaram ser incluídos antes que o Cloudflare funcionasse para mim.
1. Região
Isso não era verdade, tive que usar “auto” ou a região que selecionei, auto é mais fácil, então use auto.
se você precisar saber quais opções pode usar, tente com qualquer string aleatória em sua região e:
Também confirmei que as chaves de API são chaves de API de conta em vez de apenas chaves específicas do bucket (conforme mencionado na postagem). Minha instância do Discourse também mostra isto:
Acredito que tudo isso esteja correto.
Certifique-se de que o CDN_URL (https://pub-xxx.r2.dev)
tenha acesso de leitura pública para que usuários anônimos possam ver os ativos.
Você pode ver o que está acontecendo nas ferramentas de desenvolvedor do navegador. Você receberá vários 403s e requisições vermelhas na aba de rede se as permissões estiverem incorretas.
Essa é uma maneira de fazer isso, mas não é a maneira recomendada e você terá problemas.
Assumindo que você já tem seu domínio e o Cloudflare já é seu DNS:
O Cloudflare fará proxy automaticamente e poderá armazenar em cache para esse domínio.
Você pode então alterar o CDN_URL para esse domínio personalizado.
nas configurações do bucket S3, há uma configuração de acesso público.
defina um subdomínio exclusivo para ele. (o Cloudflare criará automaticamente o registro DNS para você, além de proxy e cache)
Você conseguiu fazer com que os backups também funcionassem com o Cloudflare R2, e é possível (assumindo que os backups para o Cloudflare R2 sejam possíveis) fazer com que ele faça backup tanto localmente quanto para o Cloudflare R2?
Além disso, o script que carrega todos os ativos significa que ele os excluirá localmente (para liberar espaço)? Ou existe um procedimento separado que preciso fazer para isso?
Obrigado por dedicar seu tempo para me ajudar com isso
Eu pessoalmente não tentei.
Meu fórum se enquadra na categoria “não suportado” porque meu banco de dados é externo e tenho uma estratégia de backup diferente dos pg_dumps que o fórum usa.
pelo que ouvi, backups não funcionam no cloudflare, mas nada impede você de tentar.