# Cómo configurar Cloudflare R2 para tu comunidad Discourse

**URL:** <https://meta.discourse.org/t/how-to-configure-cloudflare-r2-for-your-discourse-community/349512>\
**Category:** Self-hosting\
**Tags:** cloudflare, hosting\
**Created:** [29 Enero, 2025 06:59 UTC](https://meta.discourse.org/t/how-to-configure-cloudflare-r2-for-your-discourse-community/349512 "2025-01-29T06:59:26Z")\
**Posts on this page:** 1\
**Showing post:** 31

<div class="post-metadata">

**Author:** ![amiantos](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/amiantos/32/543620_2.png) [@amiantos](https://meta.discourse.org/u/amiantos)\
**Post date:** [19 Febrero, 2026 19:38 UTC](https://meta.discourse.org/t/how-to-configure-cloudflare-r2-for-your-discourse-community/349512/31 "2026-02-19T19:38:11Z")

</div>

Algunas notas de mi experiencia al lograr que esto funcione (no del todo)…

Cometí el error de poner todas las variables de configuración en el panel de administración de Discourse, lo que significaba que `migrate_to_s3` no funcionaría hasta que también agregara las variables a mi `app.yml`.

Al principio no me di cuenta de que esta configuración también era para servir archivos estáticos desde r2, así que tuve que ejecutar `rake s3:upload_assets` de manera similar a joshhabka.

También encontré el error `You can only specify one checksum at a time` (Solo puedes especificar una suma de verificación a la vez). Esto se solucionó, como se señaló, con

```yaml
  AWS_REQUEST_CHECKSUM_CALCULATION: "when_required"
  AWS_RESPONSE_CHECKSUM_VALIDATION: "when_required"

```

Luego terminé con el mismo error `1 of x uploads are not migrated` (1 de x cargas no se migraron) encontrado por joshhabka.

```bash
Migrating uploads to S3 for 'default'...
Uploading files to S3...
 - Listing local files
 => 79 files
 - Listing S3 files
. => 81 files
 - Syncing files to S3
...............................................................................
Updating the URLs in the database...
Removing old optimized images...
Flagging all posts containing lightboxes for rebake...
18 posts were flagged for a rebake
rake aborted!
FileStore::ToS3MigrationError: 1 of 88 uploads are not migrated to S3. S3 migration failed for db 'default'. (FileStore::ToS3MigrationError)
/var/www/discourse/lib/file_store/to_s3_migration.rb:132:in 'FileStore::ToS3Migration#raise_or_log'
/var/www/discourse/lib/file_store/to_s3_migration.rb:73:in 'FileStore::ToS3Migration#migration_successful?'
/var/www/discourse/lib/file_store/to_s3_migration.rb:385:in 'FileStore::ToS3Migration#migrate_to_s3'
/var/www/discourse/lib/file_store/to_s3_migration.rb:59:in 'FileStore::ToS3Migration#migrate'
/var/www/discourse/lib/tasks/uploads.rake:126:in 'Object#migrate_to_s3'
/var/www/discourse/lib/tasks/uploads.rake:106:in 'block in Object#migrate_to_s3_all_sites'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in 'RailsMultisite::ConnectionManagement::NullInstance#with_connection'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management/null_instance.rb:36:in 'RailsMultisite::ConnectionManagement::NullInstance#each_connection'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management.rb:17:in 'RailsMultisite::ConnectionManagement.each_connection'
/var/www/discourse/lib/tasks/uploads.rake:104:in 'Object#migrate_to_s3_all_sites'
/var/www/discourse/lib/tasks/uploads.rake:100:in 'block in <main>'
/usr/local/bin/bundle:25:in 'Kernel#load'
/usr/local/bin/bundle:25:in '<main>'
Tasks: TOP => uploads:migrate_to_s3
(See full trace by running task with --trace)

```

No he encontrado una forma de resolver este por mi cuenta. Parece que todo funciona hasta que llega a marcar las publicaciones para un nuevo horneado y luego falla. Sí pareció migrar el contenido, me pregunto cómo puedo averiguar qué contenido no se subió con éxito.

---

_[View the full topic](https://meta.discourse.org/t/how-to-configure-cloudflare-r2-for-your-discourse-community/349512)._
