Ayuda con DISCOURSE_CDN_URL

Estoy intentando solucionar la configuración de S3/CDN en mi sitio y tengo problemas. Un poco de contexto: antes usaba Digital Ocean Spaces con Bunny.net para el CDN; tenía todo configurado correctamente en la configuración del sitio, pero nunca había establecido DISCOURSE_CDN_URL en el archivo app.yml porque no entendía cómo funcionaba ni su importancia. Recientemente cambié a Amazon S3 después de empezar a tener problemas con DO Spaces, pero me quedé con Bunny.net para el CDN. Creo que ya entendí esa parte del cambio y @pfaffman me ayudará a volver a mapear la base de datos.

El problema que tengo ahora es al configurar DISCOURSE_CDN_URL. Lo que hice fue crear una nueva zona de extracción (pull zone) en Bunny para esto, establecer la URL de origen en https://community.naturephotographers.network, que es mi foro. Tengo un CNAME para esto que apunta a assets.naturephotographers.network. Luego establecí DISCOURSE_CDN_URL en https://assets.naturephotographers.network y la reconstrucción se realizó correctamente, pero los activos del sitio no se están obteniendo del CDN de assets.naturephotographers.network; por alguna razón, provienen del bucket de Amazon.

Intenté ejecutar esta tarea rake:

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

Pero falla con el siguiente error:

I, [2021-07-26T13:31:31.754617 #1]  INFO -- : > cd /var/www/discourse && sudo -E -u discourse bundle exec rake s3:upload_assets
`/root` no es escribible.
Bundler usará `/tmp/bundler20210726-6572-1a099eq6572' como tu directorio principal temporalmente.
ERROR: Asegúrate de que S3 esté configurado en config/discourse.conf o en las variables de entorno
I, [2021-07-26T13:31:42.586559 #1]  INFO -- :
I, [2021-07-26T13:31:42.587455 #1]  INFO -- : Terminando procesos asíncronos
I, [2021-07-26T13:31:42.587523 #1]  INFO -- : Enviando INT a HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 56
I, [2021-07-26T13:31:42.587764 #1]  INFO -- : Enviando TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 173
173:signal-handler (2021-07-26 13:31:42.588 UTC [56] LOG:  received fast shutdown request
1627306302) Received SIGTERM scheduling shutdown...
2021-07-26 13:31:42.594 UTC [56] LOG:  aborting any active transactions
2021-07-26 13:31:42.596 UTC [56] LOG:  background worker "logical replication launcher" (PID 65) exited with exit code 1
2021-07-26 13:31:42.599 UTC [6573] FATAL:  terminating autovacuum process due to administrator command
2021-07-26 13:31:42.599 UTC [6573] CONTEXT:  while vacuuming block 74749 of relation "pg_toast.pg_toast_21988"
2021-07-26 13:31:42.603 UTC [60] LOG:  shutting down
173:M 26 Jul 2021 13:31:42.630 # User requested shutdown...
173:M 26 Jul 2021 13:31:42.630 * Saving the final RDB snapshot before exiting.
2021-07-26 13:31:42.766 UTC [56] LOG:  database system is shut down
173:M 26 Jul 2021 13:31:43.123 * DB saved on disk
173:M 26 Jul 2021 13:31:43.123 # Redis is now ready to exit, bye bye...

Aquí están mis configuraciones del sitio para S3/CDN:

Otra nota interesante: si tengo todas mis configuraciones de S3/CDN en mi app.yml en lugar de en las configuraciones del sitio, mi sitio se rompe y solo veo una página en blanco, a pesar de que las configuraciones son exactamente las mismas, con un montón de errores 403 en la consola:

  ## S3 Configuration
  DISCOURSE_USE_S3: true
  DISCOURSE_S3_REGION: us-west-1
  DISCOURSE_S3_ACCESS_KEY_ID: ***
  DISCOURSE_S3_SECRET_ACCESS_KEY: ***
  DISCOURSE_S3_CDN_URL: https://images.naturephotographers.network
  DISCOURSE_S3_BUCKET: npnimages
  DISCOURSE_S3_BACKUP_BUCKET: npn-backup
  DISCOURSE_BACKUP_LOCATION: s3

¿Alguna idea? ¡Gracias!

1 me gusta

Realmente debes tenerlas en las variables de entorno. En la base de datos no funcionará.

1 me gusta