Aiuto con DISCOURSE_CDN_URL

Sto cercando di risolvere le impostazioni S3/CDN sul mio sito e incontro dei problemi. Un po’ di storia: stavo utilizzando DigitalOcean Spaces con bunny.net per il CDN; avevo configurato tutto correttamente nelle impostazioni del sito, ma non avevo mai impostato DISCOURSE_CDN_URL in app.yml perché non capivo come funzionasse o la sua importanza. Recentemente sono passato ad Amazon S3 dopo aver avuto problemi con DO Spaces, ma ho mantenuto bunny.net per il CDN. Penso di aver capito questa parte del passaggio e @pfaffman mi aiuterà a rimappare il database.

Il problema che sto affrontando ora riguarda l’impostazione di DISCOURSE_CDN_URL. Ho creato una nuova pull zone su bunny per questo, impostando l’URL di origine su https://community.naturephotographers.network, che è il mio forum. Ho un CNAME per questo che punta a assets.naturephotographers.network. Ho quindi impostato DISCOURSE_CDN_URL su https://assets.naturephotographers.network e la ricompilazione avviene correttamente, ma le risorse del sito non vengono recuperate dal CDN di assets.naturephotographers.network; per qualche motivo provengono dal bucket Amazon.

Ho provato a eseguire questo task rake

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

Ma fallisce con questo errore:

I, [2021-07-26T13:31:31.754617 #1]  INFO -- : > cd /var/www/discourse && sudo -E -u discourse bundle exec rake s3:upload_assets
`/root` non è scrivibile.
Bundler userà `/tmp/bundler20210726-6572-1a099eq6572' come directory home temporanea.
ERRORE: Assicurati che S3 sia configurato in config/discourse.conf o nelle variabili d'ambiente
I, [2021-07-26T13:31:42.586559 #1]  INFO -- :
I, [2021-07-26T13:31:42.587455 #1]  INFO -- : Terminazione dei processi asincroni
I, [2021-07-26T13:31:42.587523 #1]  INFO -- : Invio di 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 -- : Invio di 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:  ricevuto richiesta di arresto rapido
1627306302) Ricevuto SIGTERM, pianificazione arresto...
2021-07-26 13:31:42.594 UTC [56] LOG:  interruzione di tutte le transazioni attive
2021-07-26 13:31:42.596 UTC [56] LOG:  worker di sfondo "logical replication launcher" (PID 65) terminato con codice di uscita 1
2021-07-26 13:31:42.599 UTC [6573] FATAL:  terminazione del processo autovacuum a causa di un comando dell'amministratore
2021-07-26 13:31:42.599 UTC [6573] CONTESTO: durante il vacuuming del blocco 74749 della relazione "pg_toast.pg_toast_21988"
2021-07-26 13:31:42.603 UTC [60] LOG:  arresto in corso
173:M 26 Jul 2021 13:31:42.630 # Shutdown richiesto dall'utente...
173:M 26 Jul 2021 13:31:42.630 * Salvataggio dell'ultimo snapshot RDB prima dell'uscita.
2021-07-26 13:31:42.766 UTC [56] LOG:  il sistema di database è stato arrestato
173:M 26 Jul 2021 13:31:43.123 * DB salvato su disco
173:M 26 Jul 2021 13:31:43.123 # Redis è ora pronto per uscire, arrivederci...

Ecco le mie impostazioni del sito per S3/CDN:

Un’altra nota interessante: se imposto tutte le mie configurazioni S3/CDN in app.yml invece che nelle impostazioni del sito, il sito si rompe e visualizzo solo una pagina bianca, nonostante le impostazioni siano esattamente le stesse, con un gran numero di errori 403 nella console:

  ## Configurazione S3
  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

Qualche idea? Grazie!

Devi davvero averle nelle variabili d’ambiente (ENV). Nel database non funziona.