Hilfe bei DISCOURSE_CDN_URL

Ich versuche, die S3/CDN-Einstellungen auf meiner Seite zu reparieren, und stoße dabei auf Probleme. Ein wenig Hintergrundgeschichte: Ich habe Digital Ocean Spaces mit Bunny.net als CDN verwendet. Alles war in den Seiteneinstellungen korrekt eingerichtet, aber ich hatte DISCOURSE_CDN_URL in der app.yml nie konfiguriert, weil ich nicht verstand, wie es funktioniert oder wie wichtig es ist. Vor kurzem bin ich nach Problemen mit DO Spaces auf Amazon S3 umgestiegen, habe aber Bunny.net als CDN beibehalten. Ich denke, ich habe diesen Teil der Umstellung verstanden, und @pfaffman wird mir helfen, die Datenbank neu zuzuordnen.

Das aktuelle Problem liegt bei der Einstellung von DISCOURSE_CDN_URL. Ich habe eine neue Pull-Zone bei Bunny erstellt und die Origin-URL auf https://community.naturephotographers.network gesetzt, was mein Forum ist. Ich habe einen CNAME-Eintrag dafür erstellt, der auf assets.naturephotographers.network zeigt. Anschließend habe ich DISCOURSE_CDN_URL auf https://assets.naturephotographers.network gesetzt. Der Neuaufbau läuft zwar fehlerfrei durch, aber die Assets der Seite werden nicht vom CDN unter assets.naturephotographers.network geladen, sondern aus irgendeinem Grund direkt aus dem Amazon-Bucket.

Ich habe versucht, diesen Rake-Task auszuführen:

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

Dabei trat jedoch folgender Fehler auf:

I, [2021-07-26T13:31:31.754617 #1]  INFO -- : > cd /var/www/discourse && sudo -E -u discourse bundle exec rake s3:upload_assets
`/root` is not writable.
Bundler will use `/tmp/bundler20210726-6572-1a099eq6572' as your home directory temporarily.
ERROR: Ensure S3 is configured in config/discourse.conf or environment vars
I, [2021-07-26T13:31:42.586559 #1]  INFO -- :
I, [2021-07-26T13:31:42.587455 #1]  INFO -- : Terminating async processes
I, [2021-07-26T13:31:42.587523 #1]  INFO -- : Sending INT to 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 -- : Sending TERM to 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...

Hier sind meine Seiteneinstellungen für S3/CDN:

Eine weitere interessante Randnotiz: Wenn ich alle meine S3/CDN-Einstellungen in der app.yml anstelle der Seiteneinstellungen verwende, funktioniert meine Seite nicht mehr und ich sehe nur eine weiße Seite, obwohl die Einstellungen exakt gleich sind. In der Konsole tauchen zudem zahlreiche 403-Fehler auf:

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

Irgendwelche Ideen? Vielen Dank!

1 „Gefällt mir“

Sie müssen diese tatsächlich in den ENV-Variablen hinterlegen. In der Datenbank reicht das nicht aus.

1 „Gefällt mir“