Cloudflare R2: Navigating Setup and Handling Configuration Errors

I can’t stop DC from thinking it’s AWS, while it’s CF R2, the backups just don’t upload. I only want to use it for backup zips, instead of AWS. I believe I’ve correctly filled out all settings and my access token if of “object read & write” scoped to this specific bucket. Added that cors policy too from the thread.

[2025-09-06 13:56:44] Gzipping archive, this may take a while...
[2025-09-06 13:56:49] Uploading 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] Deleting old backups...
[2025-09-06 13:56:49] Cleaning stuff up...
[2025-09-06 13:56:49] Removing archive from local storage...
[2025-09-06 13:56:49] Removing '.tar' leftovers...
[2025-09-06 13:56:49] Marking backup as finished...
[2025-09-06 13:56:49] Notifying 'Firsh' of the end of the backup...
[2025-09-06 13:56:54] Finished!