Digital Ocean Spaces (S3) "impossibile firmare la richiesta senza credenziali impostate"

Ecco cosa ha funzionato alla fine:

Queste impostazioni dovevano essere nella configurazione di app.yml affinché potesse eseguire correttamente le rake. Quando erano solo nell’area /admin/site_settings/, non eseguiva correttamente le rake. Stavo ricevendo un errore:

ERRORE: Assicurati che S3 sia configurato in config/discourse.conf o variabili d’ambiente

Le impostazioni provengono da qui… Configure an S3 compatible object storage provider for uploads

Nello specifico, ho usato le impostazioni di Spaces non personalizzate con due spazi prima di ogni riga. …

DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: whatever
DISCOURSE_S3_ENDPOINT: https://nyc3.digitaloceanspaces.com
DISCOURSE_S3_ACCESS_KEY_ID: myaccesskey
DISCOURSE_S3_SECRET_ACCESS_KEY: mysecretkey
DISCOURSE_S3_CDN_URL: https://nyc3.cdn.digitaloceanspaces.com
DISCOURSE_S3_BUCKET: my-files
DISCOURSE_S3_BACKUP_BUCKET: my-files/my-backups
DISCOURSE_BACKUP_LOCATION: s3
DISCOURSE_S3_INSTALL_CORS_RULE: false

NOTA: DISCOURSE_S3_REGION dovrebbe letteralmente dire “whatever” e non qualcosa che possa essere interpretato come una regione S3 effettiva (ad esempio us-west-1).

Anche queste impostazioni, nella sezione hooks dell’area ## Plugins go here

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

È qui che ho riscontrato un problema l’ultima volta. Una volta che è stato impostato e ho ricostruito, stavo vedendo questa schermata di caricamento quando provavo ad aprire il nostro forum in un browser.

Questo è solo perché sta cercando asset che non sono ancora stati aggiornati. È qui che è il momento di eseguire le rake, dall’interno dell’app…

./launcher enter app

rake s3:upload_assets

Una volta eseguito, il numero degli elementi è aumentato e una cartella “assets” è apparsa nel nostro bucket…

Quindi il forum ha iniziato a caricarsi correttamente. Queste sono le uniche impostazioni relative a S3 che vedo nella mia area /admin/site_settings…

Ho eseguito questo per caricare tutti i file e ha aggiornato gli URL dal vecchio percorso al nuovo (non-CDN).

rake uploads:migrate_to_s3 --trace

Il numero di elementi è più che triplicato dopo che è finito.

L’unica cosa che ho notato era che i percorsi delle immagini dei vecchi post utilizzavano l’URL dell’ENDPOINT S3 rispetto alle immagini appena pubblicate che utilizzavano l’URL CDN S3.

https:/my-storage.sfo3.digitaloceanspaces.com/
vs
https:/my-storage.sfo3.cdn.digitaloceanspaces.com/

Non mi importava molto perché almeno tutto utilizzava S3.

Ma ho provato ad eseguire…

rake posts:rebake

image

L’ha bloccato perché ha esaurito la memoria. Ho provato ad eseguire questo invece…

rake posts:rebake_uncooked_posts

Ha esaurito la memoria alcune volte e si è riavviato, poi ha esaurito di nuovo la memoria. L’ho eseguito di nuovo. Alla fine è riuscito a cuocere tutti.

Una volta eseguito fino al 100%, tutti i link utilizzavano finalmente il percorso URL CDN S3, vecchi e nuovi post. Oltre 34062 elementi con 65,9 GB di spazio di archiviazione (un backup è <9 GB).

Molto felice che ora funzioni tutto tramite S3, inclusi i backup. A proposito, probabilmente è un buon momento per eseguirne uno!

Spero che questo aiuti qualcuno.

In bocca al lupo!

1 Mi Piace