Olá @mcwumbly. Foi muito fácil de encontrar quando eu podia pesquisar por “clone S3”. Não consegui encontrá-lo agora. Havia algo de errado com esse título? Existe alguma pesquisa que o encontrará? Poderíamos adicionar um (não me lembro o nome) para que ele possa vincular automaticamente algumas palavras como a instalação padrão faz (mas não consigo pensar em quais palavras usar).
Como alguém que vincula esses tópicos várias vezes por semana, meio que concordo ![]()
Talvez adicionar “clones s3” ao corpo do OP ajude na busca?
Eu encontrei “compatível com S3” mais comum no uso geral, que é por isso que eu o alterei durante uma varredura de atualização dos títulos de documentação em geral, por exemplo: AWS S3 Compatible Object Storage | MinIO
Acho que a sugestão de colocar outros termos de pesquisa no corpo do OP faz sentido. (Acabei de adicioná-lo neste aqui).
Parece bom. Acho que teremos que mudar com os tempos. ![]()
Sim. Não é tão difícil assim. Você consegue, @pfaffman!
Olá, alguém conseguiu fazer o Contabo Object Storage funcionar para uploads compatíveis com S3? Parece que ao fazer upload, ele prefixa o nome do repositório na URL.
Por exemplo, se você tem um bucket chamado community, ele cria uma URL como https://community.eu2.contabostorage.com
Encontrei esse comportamento no Duplicati, por exemplo, mas ele pode excluir o prefixo do nome do bucket no domínio.
Agradeceria se alguém tivesse a solução para poder usar este Object Storage, pois ele tem preços muito bons.
Fiz vários testes para configurar o domínio como CNAME no meu domínio do Cloudflare para fornecer o SSL, mas para community.cdn.midominio.com o certificado SSL não é mais coberto porque eles usam um wildcard e se eu desativar o proxy do Cloudflare, ele reclama porque o certificado não está correto.
Saudações,
Você já tentou definir a configuração do S3 CDN para https://community.eu2.contabostorage.com? Na minha opinião, isso funcionará.
Não existe, é o endpoint da contabo eu2.contabostorage.com
Sim, mas qual será o URL final de um arquivo de exemplo em um bucket?
Ele quer dizer que se você mesmo fizer upload de um arquivo para o bucket (usando qualquer ferramenta que consiga usar para fazer upload de um arquivo), qual URL você usaria para acessar o arquivo?
https://eu2.contabostorage.com/9198f3bf2d6e43dd86fab037ebad3aee:comunidad/castopod-1.png
A estrutura é
Host: https://eu2.contabostorage.com/
Usuário: 9198f3bf2d6e43dd86fab037ebad3aee
Bucket: comunidad
Arquivo: castopod-1.png
Essa não é uma URL funcional. Mas acho que poderia ser se você substituísse dois pontos por uma barra?
Essa não é a maneira como você descreveu em sua primeira postagem, então talvez agora ele possa fazer outra sugestão.
Então tente definir
DISCOURSE_S3_CDN_URL: "https://eu2.contabostorage.com/9198f3bf2d6e43dd86fab037ebad3aee:comunidad"
e reconstruir.
O R2 da Cloudflare está finalmente disponível publicamente (levou apenas um ano, aparentemente). (Aqui está o anúncio original: Announcing Cloudflare R2 Storage: Rapid and Reliable Object Storage, minus the egress fees)
Criei um bucket.
Criei um token https://developers.cloudflare.com/r2/data-access/s3-api/tokens que inclui: “Editar: Permitir acesso de edição a todos os objetos e operações de Listar, Gravar e Excluir de todos os buckets”
Aqui está o que tentei:
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: auto
DISCOURSE_S3_ACCESS_KEY_ID: redacted
DISCOURSE_S3_SECRET_ACCESS_KEY: redacted
DISCOURSE_S3_CDN_URL: https://pub-72eaa03782c542edbe00598fd1666be1.r2.dev
DISCOURSE_S3_BUCKET: lc-testing
DISCOURSE_S3_BACKUP_BUCKET: lc-testing/backups
DISCOURSE_BACKUP_LOCATION: s3
DISCOURSE_S3_ENDPOINT: https://cb46accbfcc3db1bdbba2bce07f8b509.r2.cloudflarestorage.com
DISCOURSE_S3_INSTALL_CORS_RULE: false
DISCOURSE_S3_CONFIGURE_TOMBSTONE_POLICY: false
FORCE_S3_UPLOADS: 1
Mas o upload de ativos falha com isto:
Aws::S3::Errors::NotImplemented: Header 'x-amz-acl' with value 'public-read' not implemented
E então lembrei-me de tornar o bucket público, como descrito em Public buckets · Cloudflare R2 docs
Mas ainda assim não funcionou.
S3 API compatibility · Cloudflare R2 docs mostra que x-amz-acl não é implementado.
Analisando o código do Discourse, não me parece óbvio que seja possível fazer o R2 funcionar sem alterações no núcleo.
Após desativar os uploads, os backups funcionam, então o R2 parece ser uma maneira muito barata de ter backups S3. Mas como eu tinha tornado aquele bucket público, o backup também era público (se você conseguir adivinhar o nome do arquivo), então se isso for resolvido, você vai querer buckets separados para backups e uploads.
Removi esta linha e consegui ver que ele carregou um arquivo, e consegui acessá-lo usando um domínio personalizado como s3_cdn_url. (E uma edição semelhante na tarefa rake do s3 permite que os ativos sejam carregados.)
Então, acho que o adicionamos como não compatível no OP até que eles implementem ACL de nível de objeto. Obrigado por testar!
Sim. As alterações necessárias no núcleo para permitir que ele pule a configuração do ACL parecem bem complicadas. Você poderia dizer que está tudo bem apenas para backups. Se você não fizer malabarismos para tornar o bucket público, tudo ficará bem.
Acabei de testar o R2, mas parece que eles não estão respeitando nossas informações de “Content-Encoding”, mesmo que a documentação deles diga que vão. Talvez em um ano seja utilizável.
É necessário adicionar um aviso às seções MinIO ou geral. Precisamos incluir um aviso de que “O Discourse usa o modo DNS para caminhos em sistemas de armazenamento compatíveis com S3. Se o backend suportar apenas o modo de caminho e não o modo DNS para caminhos de bucket, ele não será compatível com o Discourse.” É por isso que o MinIO originalmente não estava na lista e foi adicionado posteriormente.
Também preciso atualizar a seção Servidor de Armazenamento MinIO - preciso que a ressalva nº 2 declare o seguinte:
- Você tem o Suporte a Domínio habilitado na configuração do MinIO para caminhos de bucket orientados por domínio. Isso é obrigatório, pois o Discourse não suporta caminhos de bucket orientados por caminho não orientados por domínio com mecanismos de armazenamento S3.
EDIT: Parece que com esta postagem obtive o status de Membro (nível de confiança 2), então pude editar a postagem da wiki agora. Nenhuma ação é necessária dos moderadores, mesmo que eu tenha pedido a eles para fazer as edições.
Incrível! Obrigado pela sua ajuda em manter as coisas atualizadas. Isso parece o tipo de aviso que eu ficaria feliz em ter.
![]()


