Configura BackBlaze S3 con BunnyCDN

So I checked BunnyCDN. I can verify that it did not go through the CDN for the backup. The traffic says 0 KB. The host CDN url is different from the upload one so it seems Discourse isn’t using it. However, I can verify that the backups are being uploaded to Backblaze B2 from Discourse.

1 me gusta

Ah, great, thank you for checking. That confirms what I suspected. Perhaps @Bill should update the OP guide?

1 me gusta

Sure! Not sure how to word it. Should I just put that you only need one pull zone and the CDN cannot access a private bucket?

1 me gusta

I would eliminate everything from ‘On your BunnyCDN dashboard, you should create a second pull zone’ up thru the paragraph ending with ‘“standard tier 10$/TB” that I used my for uploads bucket.’

Also, it seems you do need a second CDN pull zone, but it’s not for the backup. I was confused about this, and couldn’t get offsite uploads working until I correctly set up one pull zone to send uploads to BackBlaze (as you outlined) and a second pull zone to pull assets from BackBlaze. See my question about that and the response I got here for more info.

It looks like I don’t have the discourse permissions for editing the original thread anymore, it probably expired after a set time or I edited it too many times. I cant get to the edit area.

Ah, ok. I guess you would need to ask a mod. In any case, even though there was a glitch, I was grateful for your how-to!

1 me gusta

The first post is a wiki now (it was when I checked it, not sure if someone got to it before now) so any TL1 or higher user can edit it.

2 Me gusta

¡Hola! Solo quería comentar que Bunny también ha conseguido una asociación con Backblaze. Por lo tanto, la transferencia de Backblaze a Bunny es ahora completamente gratuita, así que, además de mayor seguridad, puedes transferir los datos a Bunny sin pasar por Cloudflare.

2 Me gusta

¿Es este paso excesivo? Supongo que una mejor pregunta podría ser… ¿qué tan significativos son los beneficios de dar este paso adicional si ya tienes Backblaze configurado para el almacenamiento y Bunny como CDN? Cualquier información sobre esto sería de gran ayuda para mí. :folded_hands:

Necesito ayuda. Me he pasado los últimos dos días investigando (perdón por el juego de palabras con conejos) para que las copias de seguridad y las imágenes se envíen a Backblaze.

He utilizado esta publicación del foro y otras para intentar configurarlo. Ahora sigo recibiendo un mensaje de error en las copias de seguridad (aunque todavía no he conseguido que las cargas funcionen, pero primero lo primero con las copias de seguridad).

He configurado buckets en Backblaze, claves y zonas de extracción.

Estas son la configuración en “All Site Settings” para S3

Esta es la configuración en “Backup Settings”

Este es mi app.yml: la segunda sección que está comentada, estuve jugando con ella ayer, pero hizo que Discourse se colgara en la pantalla de carga.

Cuando ejecuto las copias de seguridad, obtengo esta pantalla, supongo que porque no he conseguido que la parte de las cargas funcione. Puede que sea irrelevante, pero pensé que debería añadirla.

Este es el registro de errores en la copia de seguridad

Este es el registro de errores

También debería mencionar que ejecuté las tareas Rake usando

rake uploads:migrate_to_s3
rake posts:rebake

Mi cerebro está dando vueltas después de dos días intentando que funcione. ¿Alguien puede ayudarme a averiguar dónde me estoy equivocando? Espero haber incluido todo lo necesario para la solución de problemas. :tired_face:

1 me gusta

Si tienes la configuración en tu archivo yml, no aparecerán en la configuración del sistema.

Te recomiendo seguir Configurar un proveedor de almacenamiento de objetos compatible con S3 para subidas

Hola, gracias por la respuesta. Ayer intenté ese enlace y no funcionó. Provocó que dejara de cargar la página.

Lo más lejos que he llegado es con la configuración actual que tengo. Aunque parece que está quejándose de una región inválida y no estoy seguro de qué configuración necesito cambiar.

Eso es porque te perdiste la parte de arriba que sube los activos a s3

Agregué el código de los hooks y volví a usar la configuración del enlace que publicaste. Se cuelga de nuevo.

Volví a comentar esa configuración y puse la que estaba usando anteriormente. Noté que la configuración de la región s3 que tenía era la URL completa, así que la cambié a ‘us-west-002’.

Ahora, cuando ejecuto la copia de seguridad, falla y obtengo un error diferente: EXCEPTION: Se recibió una cabecera no admitida ‘x-amz-checksum-crc32’ para esta llamada a la API.

Creo que me rendiré y simplemente iré y descargaré manualmente las copias de seguridad todos los días.

He persistido intentando que esto funcione, a riesgo de perder la cabeza :wink:

Así que el último error de checksum que tuve lo resolví con la ayuda de esto: Can't rebuild due to AWS SDK gem bump and new AWS Data Integrity Protections - #28 by PatPatterson

Eso se hizo añadiendo lo siguiente a la sección env en app.yml:

AWS_REQUEST_CHECKSUM_CALCULATION: WHEN_REQUIRED
AWS_RESPONSE_CHECKSUM_VALIDATION: WHEN_REQUIRED

Y comentando esto en la sección de hooks de app.yml:

after_assets_precompile:
    - exec:
        cd: $home
        cmd:
          - sudo -E -u discourse bundle exec rake s3:upload_assets
  #        - sudo -E -u discourse bundle exec rake s3:expire_missing_assets

Las otras configuraciones de env están establecidas así:

DISCOURSE_S3_ACCESS_KEY_ID: 'key'
DISCOURSE_S3_SECRET_ACCESS_KEY: 'key'
DISCOURSE_BACKUP_LOCATION: 's3'
DISCOURSE_ENABLE_S3_UPLOADS: true
DISCOURSE_S3_BACKUP_BUCKET: 'backupbucketonbackblaze'
DISCOURSE_S3_REGION: 'us-west-002'
DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true

Hice una copia de seguridad antes de incluir DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true.

Y tuve una copia de seguridad exitosa en Backblaze. ¡¡¡YEAH!!!

Cuando puse la línea en app.yml para incluir las subidas, la copia de seguridad tuvo un error que es el siguiente:

EXCEPTION: tar --append --file /var/www/discourse/public/backups/default/my-server-name-2025-04-17-222758-v20250417043438.tar uploads/default
Failed to append uploads to archive.
tar: uploads/default: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors

No estoy seguro de dónde se supone que está este directorio o cómo arreglarlo. ¿Es un directorio que necesito crear en el servidor de discourse o en Backblaze? ¿O es una configuración que me he saltado en la configuración del sitio o en app.yml?

Cualquier orientación sería muy apreciada.

1 me gusta