Je peux télécharger des sauvegardes, je n’ai jamais eu de problèmes avec ça.
Avec les téléchargements S3 inclus ?
Très utile, juste quand je télécharge l’image depuis le presse-papiers, cela ne fonctionne pas, rencontrez-vous ce problème ? À la fin, elle a été téléchargée sur R2 mais n’est pas visible dans le message :
Avez-vous regardé l’URL de l’image, à quoi ressemble-t-elle ?
Donc, nous ne pouvons toujours pas configurer r2 via app. yml ? Uniquement via les paramètres du site Web, c’est-à-dire DB_S3_CONFIG ?
Utilisez cette méthode, pouvez-vous télécharger les anciens téléchargements locaux vers R2, via rake uploads : migrate to s3 ?
Hé, merci à tous pour cela.
Si je comprends bien, “DISCOURSE_CDN_URL” peut être le même que “DISCOURSE_S3_CDN_URL”, qui est le domaine public personnalisé lié au bucket sur Cloudflare ? Ou une autre configuration est-elle nécessaire pour cela ?
Oui, vous devez ajouter le même nom de domaine au fichier discourse container.yml. Voici un exemple d’utilisation :
## L'adresse HTTP ou HTTPS du CDN pour cette instance Discourse (configurée pour tirer)
## Voir https://meta.discourse.org/t/14857 pour les détails
#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
Les paramètres désactivés avec ce caractère doivent être configurés via le panneau d’administration ; des exemples sont fournis dans le code. Si vous préférez, vous pouvez également activer ces paramètres dans la section de configuration, c’est à vous de choisir.
Cette option cassera le site lorsqu’elle sera définie dans app.yml, car tous les fichiers statiques comme JavaScript ne sont pas hébergés sur R2 pour une raison quelconque.
C’est super. J’ai suivi le guide du post #39 et tout a fonctionné. J’ai juste une suggestion et 2 questions.
Suggestion :
D’après ce que j’ai lu, vous devriez rendre le bucket des fichiers CDN publiquement accessible et le bucket de sauvegarde privé. J’ai donc créé 2 buckets et laissé le bucket de sauvegarde privé tout en rendant le bucket des fichiers public avec un domaine personnalisé. Cela signifiait simplement que je devais mettre 2 chemins différents dans les 2 cases sous admin.
J’ai vu beaucoup de gens mettre leurs sauvegardes comme un chemin de leur bucket de niveau supérieur, est-ce que je pense mal à ce sujet ? Ou est-ce juste une idiosyncrasie avec CF R2 ?
Q1 :
J’ai ajouté ‘DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true’ dans mon app.yml et reconstruit, mais quand je vais dans les sauvegardes et que je clique sur le bouton de sauvegarde, j’obtiens toujours le pop-up me disant que les téléchargements ne seront pas inclus. Est-ce juste parce que le pop-up n’a aucune logique en dessous ou quelque chose ne va pas ?
Q2 :
Si je veux que les téléchargements actuels soient déplacés vers R2, quelles sont les commandes concises ?
J’ai cherché et essayé :
./launcher enter app
rake uploads:migrate_to_s3
rake posts:rebake_uncooked_posts
Mais il semble que la première commande rake ne fonctionne que si je définis les options S3 dans le fichier app.yml. Est-ce correct ?
Si je fais cela, R2 continuera-t-il à fonctionner ?
D’accord, testé et trouvé insuffisant.
Il semble que la première commande rake ne fonctionne que pour 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)
Existe-t-il une autre commande qui fait la même chose avec d’autres fournisseurs S3 ?
Avez-vous fait un suivi pour voir si nous pouvons obtenir R2 comme solution entièrement fonctionnelle ?
R2 fonctionne bien ; il suffit de ne pas utiliser ou définir cette option : DISCOURSE_CDN_URL
R2 fonctionne bien ; n’utilisez pas ou ne définissez pas cette option :
DISCOURSE_CDN_URL
C’est exact, ce qui signifie qu’il ne fonctionne pas entièrement car certains fichiers statiques ne sont pas poussés/hébergés correctement.
Je cherche juste à faire en sorte que tout fonctionne au lieu que seulement une partie fonctionne.
Je n’arrive pas à empêcher DC de penser que c’est AWS, alors que c’est CF R2, les sauvegardes ne se téléchargent tout simplement pas. Je veux seulement l’utiliser pour les zips de sauvegarde, au lieu d’AWS. Je pense avoir correctement rempli tous les paramètres et mon jeton d’accès est de portée “lecture et écriture d’objet” pour ce bucket spécifique. J’ai également ajouté la politique CORS du fil de discussion.
[2025-09-06 13:56:44] Compression de l'archive, cela peut prendre un certain temps...
[2025-09-06 13:56:49] Téléchargement de l'archive...
[2025-09-06 13:56:49] EXCEPTION : 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] Suppression des anciennes sauvegardes...
[2025-09-06 13:56:49] Nettoyage...
[2025-09-06 13:56:49] Suppression de l'archive du stockage local...
[2025-09-06 13:56:49] Suppression des restes de '.tar'...
[2025-09-06 13:56:49] Marquage de la sauvegarde comme terminée...
[2025-09-06 13:56:49] Notification à 'Firsh' de la fin de la sauvegarde...
[2025-09-06 13:56:54] Terminé !
Cela semble fonctionner pour moi aussi ! (n’oubliez pas de définir l’URL du CDN, sinon les téléchargements fonctionneront mais les récupérations ne fonctionneront pas)

