Non sono più esperto di te, ma l’ho appena fatto io - e ce l’ho fatta con l’aiuto di @Pravi.
Passaggi necessari per tornare dallo stato di caricamento su S3 allo stato vanilla
Non è semplicissimo: fai molta attenzione al testo e ai link, perché se qualcosa va storto sarà un vero disastro da sistemare. Ma è assolutamente fattibile.
Passo 1 - Copia i file dal tuo bucket S3 alla cartella public/uploads/default
Per prima cosa, installa AWS CLI all’interno del contenitore dell’app
cd /var/discourse
./launcher enter app
sudo apt install awscli
Configura aws con il tuo ID e password S3 (di solito è semplice)
aws configure
Poi usa aws per copiare tutto il contenuto del bucket in public/uploads/default/
aws s3 sync s3://my-bucket-name/ public/uploads/default/
Passo 2 - Rimappa l’URL di S3
Il modo più semplice è trovare un’immagine sul tuo forum e ispezionare l’URL. Ti serve ogni parte fino al nome effettivo del file (incluso l’ultimo /):
discourse remap //il-lungo-url-nei-tuoi-immagini-fino-al-nome-file /uploads/default/
Passo 3 - Rigenera i post e ricostruisci l’app:
rake posts:rebake
exit
./launcher rebuild app
Passo 4 - Disattiva S3
- Disattiva i caricamenti su S3 nelle impostazioni (o nel tuo app.yml se li hai configurati così). Se hai usato una CDN, rimuovi anche il link ad essa dall’impostazione (altrimenti non viene davvero disattivata).
- Spegni il tuo contenitore. Io l’ho fatto spostando il contenuto in un nuovo contenitore come backup come primo passo.
Finito! Finora non ho riscontrato problemi. Vai a provarlo!