Asset S3 non funzionanti dopo lo spostamento del forum

Ciao,

Ho dovuto spostare un forum Discourse abbandonato. Per fortuna, avevamo più amministratori, quindi è stato possibile eseguire il processo e scaricare un backup. Utilizzavamo un bucket S3 per le nostre risorse, il che ha creato qualche problema. A questo punto, farò una richiesta di funzionalità:

Rendere possibile includere le risorse S3 nei backup

Ho scoperto (non sono sicuro se prima o dopo la ricreazione dei post) che gli URL delle risorse S3 sono stati riscritti in URL interni. Quindi ho estratto tutti gli URL S3 original e optimized dal file del database e li ho scaricati (in un certo senso) manualmente. Dopo averli spostati nel posto giusto, tutte le immagini mancanti sono state visualizzate. … Sarebbe fantastico avere una funzionalità automatica per questo.

Finora, ho riscontrato tre bug:

  1. Anteprime delle immagini rotte, immagini ingrandite funzionanti
  1. Anteprime delle immagini funzionanti, nessun passaggio del mouse per ingrandire le immagini
  • /t/microlongrange-openhd-edition/379 … Posso inserire solo 2 link nel mio primo post
  1. I Gravatar sono rotti (forse non correlato):
    -

Non ho riscontrato problemi nei nuovi post.

Grazie per questo fantastico progetto,
Limitless Green

Sembra una configurazione errata, non un bug. Hai configurato lo stesso bucket S3 sul nuovo host prima del ripristino?

Ho ripristinato il backup, che contiene anche la configurazione. Dopo averlo fatto (e aver forzato HTTPS), non vedo più immagini dal bucket S3.

Ora ho rimosso completamente la configurazione S3.

Non si tratta di una sovrascrittura completa della configurazione?

Tranne la configurazione S3, se era stata precedentemente configurata tramite variabili d’ambiente in app.yml

Esiste un’impostazione nascosta che fa esattamente questo. Cdck la attiva per i clienti che sanno di pianificare il loro hosting.

La configurazione S3 è meglio effettuarla tramite le variabili d’ambiente, come descritto in Utilizzo dell’archiviazione oggetti per i caricamenti (S3 e cloni).

Dopo il ripristino, ho configurato i parametri in: s3 upload bucket e s3 cdn url.
Non ho accesso all’app.yml (del vecchio server).

Oh, bello! :grinning: Dove?
L’unica opzione adatta nella sezione backup che ho trovato è stata:
grafik
(che era spuntata)

Non sono sicuro di essere chiaro: al momento non voglio S3. E ho dovuto recuperare le risorse da lì. Nessuno sa quanto rimarrà attivo questo server. :sweat_smile:

Se non hai accesso al server tramite SSH, non puoi modificare l’impostazione nascosta.

D’accordo. E cosa si dovrebbe fare ora nel mio caso?
Cosa può causare questo problema di anteprima dell’immagine?

Se non è troppo tardi (cioè, ci sono stati aggiornamenti sul forum che non vuoi perdere) e hai le credenziali S3, allora probabilmente inserirei le credenziali S3 nel file app.yml e ripeterrei il ripristino. Da lì, potresti probabilmente impostare la configurazione nascosta, eseguire un backup e ripristinarlo su un server senza S3.

Ma penso che non sia questo il caso. E non è chiaro quali siano esattamente i problemi, dato che nemmeno tu ricordi esattamente cosa hai fatto e quando.

Se mancano dei dati (e hai le credenziali S3), potrei provare a utilizzare uno strumento S3 per scaricare tutti gli allegati e poi intervenire sul database per farlo puntare a essi. Ma non sono abbastanza esperto in questo da spiegare qui come farlo.

Sì, purtroppo non ho le credenziali S3 :frowning:

Posso riprodurre i passaggi:

  1. Ho installato un nuovo forum Discourse con discourse_docker dietro Traefik
  2. Ho eseguito un backup del vecchio forum (inclusi alcuni asset vecchi)
  3. Ho ripristinato il backup sul nuovo forum
  4. Ho forzato l’HTTPS
  5. Ho estratto gli URL degli asset dal file dump.sql (dal backup)
  • egrep -o 'discuss-openhdfpv.eu-central-1.linodeobjects.com\/original\/1X\/[0-9a-z_]{0,}\.[0-9a-zA-Z]{0,}' ./dump.sql >> original.txt
  • egrep -o 'discuss-openhdfpv.eu-central-1.linodeobjects.com\/optimized\/1X\/[0-9a-z_]{0,}\.[0-9a-zA-Z]{0,}' ./dump.sql >> optimized.txt
  1. Ho scaricato gli asset: cat optimized.txt | parallel --gnu "wget -nc -P ./optimized/1X/ {}" (lo stesso per original)
  2. Ho rimosso le configurazioni S3
  3. rake posts:rebake

Posso eseguire operazioni SQL sul database, se so cosa cercare.