I bucket Cloudflare R2 possono essere utilizzati per archiviare asset statici come immagini e GIF per la community di Discourse, ma non possono essere utilizzati per archiviare backup della community!
Introduzione:
Cloudflare R2 object storage può essere utilizzato come alternativa ad Amazon S3 per archiviare caricamenti per il tuo forum Discourse. I passaggi seguenti descrivono come configurarlo.
Passaggi di configurazione:
Abilita caricamenti S3: Seleziona la casella per abilitare i caricamenti S3 nelle impostazioni di Discourse.
ID chiave di accesso S3: Inserisci l’ID della chiave API per il tuo bucket di archiviazione R2. Questo è l’ID fornito quando hai creato un token API per il tuo bucket.
Chiave di accesso segreta: Inserisci la chiave segreta che è stata fornita quando hai creato il token API che concede l’accesso al tuo bucket di archiviazione. Importante: questa chiave segreta viene visualizzata solo una volta, quindi assicurati di effettuarne un backup sicuro.
Regione S3: Puoi inserire qualsiasi regione, non ha importanza per R2.
Bucket di caricamento S3: Inserisci il nome del tuo bucket di archiviazione R2.
Endpoint S3: Inserisci il link API S3 per il tuo bucket R2, che è nel formato https://xxxxxx.com. Fai riferimento alla dashboard di Cloudflare R2 per trovare questo link.
URL CDN S3: Inserisci l’URL pubblico del bucket di archiviazione R2.dev per il tuo bucket. Questo si troverà anche nella tua dashboard di Cloudflare R2.
Completamento:
Una volta configurate queste impostazioni, il tuo forum Discourse sarà impostato per utilizzare Cloudflare R2 per l’archiviazione.
Informazioni sul livello gratuito:
Il servizio R2 di Cloudflare fornisce un livello gratuito che include 10 GB di spazio di archiviazione, 1 milione di caricamenti e 1 milione di operazioni di lettura al mese.
Grazie per il tuo feedback. Ho letto attentamente la guida in precedenza e ritengo che il consiglio riguardante Cloudflare R2 sia errato. L’articolo suggerisce che la community di Discourse non supporti i bucket Cloudflare R2. Tuttavia, in realtà, Cloudflare R2 è altamente compatibile con S3 e può gestire perfettamente caricamenti e download di immagini e file per la community di Discourse. Questo è stato verificato attraverso l’applicazione pratica sulla mia community (starorigin.net).
È molto meglio inserire le impostazioni S3 nel file yml piuttosto che configurarle tramite l’UX e memorizzarle nel database. Hai provato a ripristinare il tuo database su un nuovo server?
Una volta che hai configurato le cose nel modo consigliato, puoi modificare quell’argomento o fare un commento e chiedere a qualcun altro di farlo.
Hai ragione, uso un bucket di archiviazione Cloudflare R2 per archiviare le immagini, le GIF e altre risorse della mia community. Ciò riduce notevolmente il carico sul server della community e accelera il caricamento delle pagine.
Non ho configurato backup automatici per la mia community da archiviare nel bucket di archiviazione Cloudflare R2 perché i bucket Cloudflare R2 non supportano l’archiviazione di file compressi. Tuttavia, l’archiviazione Cloudflare R2 può archiviare PDF, immagini, GIF e altre risorse statiche della community, il che è anche molto buono.
Grazie per il promemoria, evidenzierò questa parte.
I bucket Cloudflare R2 possono essere utilizzati per archiviare asset statici come immagini e GIF per la community di Discourse, ma non possono essere utilizzati per archiviare backup della community!
Per aggiornare questo post, ho riscontrato alcuni problemi che dovevano essere inclusi prima che Cloudflare funzionasse per me.
1. Regione
Questo non era vero, ho dovuto usare “auto” o la regione che ho selezionato, auto è più facile quindi usa auto.
se hai bisogno di sapere quali opzioni puoi usare, prova con una stringa casuale qualsiasi nella tua regione e:
Ho anche confermato che le chiavi API sono chiavi API dell’account anziché solo chiavi specifiche del bucket (come menzionato nel post). Inoltre, la mia istanza di Discourse mostra questo:
Credo che tutto ciò sia corretto.
Assicurati che il CDN_URL (https://pub-xxx.r2.dev)
abbia accesso in lettura pubblico in modo che gli utenti anonimi possano vedere gli asset.
Puoi vedere cosa sta succedendo negli strumenti per sviluppatori del browser. Otterrai un sacco di 403 e richieste rosse nella scheda di rete se le autorizzazioni sono errate.
Questo è un modo per farlo, ma non è il modo consigliato e si verificheranno problemi.
Supponendo che tu abbia già il tuo dominio e Cloudflare sia già il tuo DNS:
Cloudflare eseguirà automaticamente il proxy e potrà memorizzare nella cache quel dominio.
Puoi quindi modificare CDN_URL in quel dominio personalizzato.
nelle impostazioni del bucket S3 c’è un’impostazione di accesso pubblico. imposta un sottodominio univoco per essa. (cloudflare creerà automaticamente anche il record DNS così come il proxy e la cache)
Sei riuscito a far funzionare anche i backup su Cloudflare R2, ed è possibile (supponendo che i backup su Cloudflare R2 siano possibili) fare in modo che esegua il backup sia localmente che su Cloudflare R2?
Inoltre, lo script che carica tutte le risorse significa che le eliminerà localmente (per liberare spazio)? O c’è una procedura separata che devo eseguire?
Grazie per aver dedicato del tempo ad aiutarmi con questo
Personalmente non ho provato.
Il mio forum rientra nella categoria “non supportata” perché il mio database è esterno e ho una strategia di backup diversa rispetto ai pg_dumps che utilizza il forum.
Da quello che sento, i backup non funzionano su cloudflare ma nulla ti impedisce di provarci.