Alguém já usou o SeaweedFS? Com a incerteza sobre o MinIO, tenho considerado essa opção e vou experimentá-la para ver se há algum problema de compatibilidade com o Discourse.
Consegui fazer o R2 funcionar corretamente usando este conjunto de regras:
## Este conjunto de linhas permite que arquivos hospedados no R2 S3 sejam enviados e baixados..
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: auto
DISCOURSE_S3_ACCESS_KEY_ID: access-key-id
DISCOURSE_S3_SECRET_ACCESS_KEY: access-key
DISCOURSE_S3_CDN_URL: https://eufiles.technospider.com
DISCOURSE_S3_BUCKET: exotics-unlimited
DISCOURSE_S3_BACKUP_BUCKET: exotics-unlimited-backups
DISCOURSE_BACKUP_LOCATION: s3
# DISCOURSE_CDN_URL: https://eufiles.technospider.com
DISCOURSE_S3_ENDPOINT: https://71*****5d4976.r2.cloudflarestorage.com
# DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true
DISCOURSE_S3_INSTALL_CORS_RULE: false
Assim que comentei a linha CDN_URL, as coisas funcionaram. Acho que pela natureza do fato de o R2 criar o CDN automaticamente, você não precisa dessa linha e, na verdade, adicioná-la quebra as coisas.
Eu comentei a linha de inclusão de imagens apenas para manter meus tamanhos de backup baixos. Estou usando o nível gratuito no R2 e não quero exceder meu limite.
Certo. Você realmente não deve usar DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS, a menos que esteja migrando para longe do S3. Não faz sentido baixar todas as imagens do S3 para incluí-las em um backup armazenado . . . no S3. Uma vez deixei isso ativado em um bucket da AWS e tive uma conta alta por baixar todas as imagens todos os dias.
Este deve ser um CDN separado que aponta para o seu servidor Discourse, e não para o bucket S3. Algumas coisas, como avatares, e não tenho certeza sobre o que mais, são servidas do seu servidor. O motivo pelo qual não funcionou é que você incluiu o CDN do seu S3, e não o CDN do site.
Você quer dizer se você usa 2 empresas diferentes? Uma para o bucket e outra para a CDN? Eu não sou muito versado nisso, então preciso da informação como se eu tivesse 3 anos…
Eu sei que quando você cria um “domínio personalizado” na interface R2, ele atua como uma CDN, e é por isso que inicialmente tentei adicionar aquela linha.
De qualquer forma, tem funcionado perfeitamente para o meu site de teste e, a menos que haja algo mais que deveria estar fazendo e não está, eu recomendaria que a postagem original fosse atualizada para mostrar que o Cloudflare agora funciona com o Discourse.
Não. Você não pode fazer isso. Existe apenas uma chave/segredo do S3. Eu estava tentando criar um motivo para usar uploads S3, mas não há nenhum.
[quote=“tknospdr, post:499, topic:148916”]
Eu sei que quando você cria um “domínio personalizado” na interface do R2, ele atua como um CDN, e é por isso que inicialmente tentei adicionar essa linha.
[/quote] Isso é para o Bucket S3, não para o seu site. Existem duas variáveis diferentes DISCOURSE_S3_CDN_URL e DISCOURSE_CDN_URL. Você as está tratando como se fossem a mesma coisa. Você não pode usar um CDN para o site, mas o motivo pelo qual não funcionou quando você definiu essa variável é que você forneceu o CDN errado.
Ok, eu pensei que tinha um leve entendimento do que estava fazendo, mas agora acho que estou completamente perdido.
Então, qual é a diferença entre S3 CDN e CDN?
Ainda funcionaria se eu invertesse qual desses 2 eu comentei?
Notei um problema estranho com a imagem de fundo do meu banner de boas-vindas também, isso tem alguma relação com algo disso?