Posso scaricare i backup, non ho mai avuto problemi con questo.
Con caricamenti S3 inclusi?
Hai guardato lâURL dellâimmagine, comâè?
Quindi non possiamo ancora configurare r2 tramite app. yml? Solo tramite impostazioni del sito Web, ovvero DB_S3_CONFIG?
Utilizza questo metodo, puoi caricare i vecchi caricamenti locali su R2, tramite rake uploads : migrate to s3?
SĂŹ, devi aggiungere lo stesso nome di dominio al file container.yml di Discourse. Ecco un esempio di utilizzo:
## L'indirizzo CDN HTTP o HTTPS per questa istanza di Discourse (configurato per il pull)
## Vedi https://meta.discourse.org/t/14857 per i dettagli
#DISCOURSE_CDN_URL: https://discourse-cdn.example.com
#DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: 'auto'
DISCOURSE_S3_ENDPOINT: 'https://45dv544v56x****************************564564.eu.r2.cloudflarestorage.com'
DISCOURSE_S3_ACCESS_KEY_ID: '564dfds4f54sdfs********65564545'
DISCOURSE_S3_SECRET_ACCESS_KEY: 'sddfsdf564564**********6545sd4f54sd56f4s6d5'
DISCOURSE_S3_CDN_URL: 'https://cdn.discourse.com.br'
##DISCOURSE_CDN_URL: 'https://cdn.discourse.com.br'
#DISCOURSE_S3_BUCKET: 'cloudflarebucketname'
#DISCOURSE_S3_BACKUP_BUCKET: 'cloudflarebackupbucketname/backups'
#DISCOURSE_BACKUP_LOCATION: 's3'
DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true
DISCOURSE_S3_INSTALL_CORS_RULE: false
Le impostazioni disabilitate con questo carattere devono essere configurate tramite il pannello di amministrazione; gli esempi sono forniti nel codice. Se preferisci, puoi anche abilitare queste impostazioni allâinterno della sezione di configurazione, a tua discrezione.
Questa opzione interromperĂ il sito se impostata su app.yml, poichĂŠ non tutti i file statici come JavaScript sono ospitati su R2 per qualche motivo.
Questo è fantastico. Ho seguito la guida nel post n. 39 e tutto ha funzionato. Ho solo un suggerimento e 2 domande.
Suggerimento:
Da quello che ho letto, dovresti rendere i file CDN del bucket pubblicamente disponibili e il bucket di backup privato. Quindi ho creato 2 bucket e ho lasciato quello di backup privato rendendo i file del bucket pubblici con un dominio personalizzato. Significava solo che dovevo inserire 2 percorsi diversi nelle 2 caselle sotto admin.
Ho visto molte persone inserire i loro backup come percorso del loro bucket di livello superiore, sto pensando in modo errato a questo proposito? O è solo unâidiosincrasia con CF R2?
D1:
Ho aggiunto âDISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: trueâ nel mio app.yml e ricostruito, ma quando vado su backup e clicco sul pulsante di backup, ricevo ancora il popup che mi dice che gli upload non saranno inclusi. Ă solo perchĂŠ il popup non ha alcuna logica sotto di esso o qualcosa non va?
D2:
Se voglio che gli upload correnti vengano spostati su R2, quali sono i comandi concisi?
Ho cercato e provato:
./launcher enter app
rake uploads:migrate_to_s3
rake posts:rebake_uncooked_posts
Ma sembra che quel primo comando rake funzioni solo se imposto le opzioni S3 nel file app.yml. Ă corretto?
Se lo faccio, R2 continuerĂ a funzionare?
Ok, testato e trovato carente.
Sembra che il primo comando rake funzioni solo per AWS.
rake aborted!
Seahorse::Client::NetworkingError: Failed to open TCP connection to exotics-unlimited.s3.auto.amazonaws.com:443 (getaddrinfo: Name or service not known) (Seahorse::Client::NetworkingError)
Esiste un altro comando che fa la stessa cosa con altri fornitori S3?
Hai fatto qualche approfondimento per vedere se possiamo ottenere R2 come soluzione completamente funzionante?
R2 funziona bene; basta non usare o impostare questa opzione: DISCOURSE_CDN_URL
R2 funziona bene; basta non usare o impostare questa opzione:
DISCOURSE_CDN_URL
Giusto, il che significa che non funziona completamente perchĂŠ alcuni file statici non vengono inviati/ospitati correttamente.
Sto solo cercando di far funzionare tutto invece di far funzionare solo una parte.
Non riesco a impedire a DC di pensare che sia AWS, mentre è CF R2, i backup non vengono caricati. Voglio usarlo solo per i file zip di backup, invece di AWS. Credo di aver compilato correttamente tutte le impostazioni e il mio token di accesso è âlettura e scrittura di oggettiâ limitato a questo bucket specifico. Ho aggiunto anche la policy CORS dal thread.
[2025-09-06 13:56:44] Compressione dell'archivio in formato Gzip, potrebbe richiedere del tempo...
[2025-09-06 13:56:49] Caricamento dell'archivio in corso...
[2025-09-06 13:56:49] ECCEZIONE: Aws::S3::Errors::Forbidden
[2025-09-06 13:56:49] /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/object.rb:559:in `rescue in exists?'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/object.rb:554:in `exists?'
/var/www/discourse/lib/backup_restore/s3_backup_store.rb:46:in `upload_file'
/var/www/discourse/lib/backup_restore/backuper.rb:351:in `upload_archive'
/var/www/discourse/lib/backup_restore/backuper.rb:41:in `run'
/var/www/discourse/script/spawn_backup_restore.rb:9:in `backup'
/var/www/discourse/script/spawn_backup_restore.rb:31:in `block in <main>'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `fork'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `<main>'
[2025-09-06 13:56:49] Eliminazione dei vecchi backup in corso...
[2025-09-06 13:56:49] Pulizia in corso...
[2025-09-06 13:56:49] Rimozione dell'archivio dallo storage locale...
[2025-09-06 13:56:49] Rimozione dei file residui '.tar'...
[2025-09-06 13:56:49] Marcatura del backup come completato...
[2025-09-06 13:56:49] Notifica a 'Firsh' della fine del backup...
[2025-09-06 13:56:54] Finito!
Sembra funzionare bene anche per me! (ricorda di impostare lâURL della CDN, altrimenti i caricamenti funzioneranno ma i recuperi no)

