Purtroppo non ha funzionato nulla al 100% per me. Cosa hai fatto alla fine?
Qualche idea su come potrebbe funzionare nelle attuali versioni 3.x? Ho ancora un sacco di immagini su S3 che devo trovare un modo per recuperare in locale. Sono aperto a suggerimenti. (il comando rake uploads:migrate_from_s3 non esiste più)
Ho impostato tutto per funzionare in locale (solo il backup è su S3). Trovo che molti post puntano ancora a S3 con link come:
<img src="//x.amazonaws.com/original/1X/afda2721f64341ca46576020acae7aaee92bd9d3.PNG" width="308" height="206">
che punta a
https://xxx.amazonaws.com/original/1X/afda2721f64341ca46576020acae7aaee92bd9d3.PNG
Hai qualche suggerimento in merito? Sono davvero stanco di avere problemi con ogni aggiornamento o modifica ![]()
Non risolto. Sarebbe bello se discourse avesse una soluzione
Oh. Se è il tuo sito e hai le tue cose su S3, allora dovresti essere in grado di attivare S3, abilitare l’impostazione nascosta descritta in Enable hidden setting to include S3 uploads in the backups, fare un backup, cambiare la configurazione in immagini locali e ripristinare il backup.
Mi piacerebbe sapere se qualcuno è riuscito a farlo funzionare.
Funziona per ogni sito che migra dall’hosting Discourse.org all’auto-hosting (e ha avuto quella impostazione attivata prima di ottenere il backup).
È un po’ complicato poiché devi avere tutte le impostazioni S3 impostate (nel tuo file YML) quando crei il backup e poi disattivarle tutte (ovunque, compreso il database se le hai mai impostate lì) prima di eseguire il ripristino.
È un metodo molto logico, ma non funziona per chi utilizza cloudflare R2. O questo problema è solo mio. Quando ho effettuato un backup, ho anche attivato l’impostazione nascosta. Sfortunatamente, non include i file in R2 nel backup. Qui si verifica l’errore: Uploads in cloudflare R2 are not added to the backup: Failed to download ******* because Aws::S3::Errors::Http501Error
La documentazione e la tua esperienza suggeriscono che R2 non è supportato, quindi dovrai risolvere il problema in altro modo.
Pensavo che funzionasse per me, ma non ho testato molto attentamente e non l’ho usato oltre un banale smoke test.
Se il backup non riuscirà a scaricare i file da R2, dovrai utilizzare uno strumento diverso per recuperare i file da R2 e quindi caricarli nel tuo nuovo bucket e quindi aggiornare il database manualmente (penso che tu possa cercare argomenti usando il task rake remap).
Questo è un processo complesso, quindi dovrai capire molto su R2, S3 e Uploads di Discourse. Sarà probabilmente difficile spiegare i tuoi problemi esatti con sufficiente specificità da ottenere una soluzione su un forum.
Scarico manualmente i file e li carico sul server. Per coloro che chiedono come fare, è possibile connettersi agli account S3 con il programma winscp. Successivamente, è possibile importare facilmente i file sul proprio computer. Successivamente, l’ho caricato in locale e ricreato gli argomenti, ha mostrato 0 post. Non ha intrapreso azioni. L’ho cambiato qualche volta e non ha trovato nulla nemmeno. Forse mi è sfuggito un punto, non voglio dirlo senza averlo testato di nuovo, forse è stata colpa mia. Se ci riprovo, scriverò i risultati. Grazie.
Ottenere i file sul tuo server è solo (la parte facile) del problema.
Puoi visualizzare i caricamenti con
cd /var/discourse
./launcher enter app
rails c
Upload.pluck(:url)
Questo ti mostrerà gli URL dei tuoi caricamenti. Quindi devi modificare tutti quei caricamenti in modo che abbiano il nuovo percorso per il tuo nuovo bucket. Puoi provare a cercare il comando remap. Penso che potrebbe funzionare
L’ho caricato in locale e ricreato gli argomenti,
Non sono sicuro di cosa significhi.
cambia la configurazione alle immagini locali
Puoi dirmi come fare questa parte, intendi solo disattivare l’impostazione di caricamento S3 nei backup o qualcos’altro?
Configura un provider di archiviazione di oggetti compatibile con S3 per i caricamenti descrive come configurare S3 aggiungendo al tuo app.yml. Se non l’hai fatto in quel modo, allora deseleziona tutte le cose relative a S3 nelle impostazioni del sito e poi fallo in quel modo.
Se l’hai fatto in quel modo, allora commenta quelle impostazioni (o forse solo use_s3 e il bucket di caricamento).