Backup Files Not Showing in Discourse Backend After Uploading to Cloudflare R2

AI-generated summary

The user copymonopoly reports that while Discourse backups are successfully uploaded to Cloudflare R2, they do not appear in the Discourse backend. Despite confirming the files exist in the R2 bucket and the API token has full permissions, the backend fails to list them. pfaffman notes that Cloudflare R2’s transparent compression may interfere with S3-compatible operations, and suggests the issue could stem from the inability to list objects in the bucket—critical for backup management. The user provides screenshots confirming the backups are present in R2 but not visible in the backend, and logs indicating the backup process completed normally. The core issue appears to be that Discourse cannot retrieve the list of backup files, likely due to compatibility limitations with R2’s handling of object listings.

I have successfully backed up my Discourse instance to Cloudflare R2. However, the backups are not appearing in the Discourse backend. I have verified that the backup files are present in the R2 storage bucket and that the API token used has the highest level of permissions. Despite this, the Discourse backend does not show any available backups.

Despite these checks, the backups are still not appearing in the Discourse backend. Any guidance or suggestions to resolve this issue would be greatly appreciated.

That’s great news! Especially given that:

Then it doesn’t sound so successful?

It needs to be able to list existing objects. It sounds like it can’t.

I did try R2 a while back and it did seem to work for me. I think that I made backups work, but I’m not completely sure. There are a couple of other “I made R2 work just great except for a bunch of things that made it not work” topics as well. And now that I’m thinking about it, it may be that they too were related to not being able to list existing objects in the bucket.

My guess, that would take me an hour or more to test, is that the gz issue described earlier is resolved, but that listing files is not possible, so it might work just fine for uploads (as long as you don’t need to use the download-s3-files-to-include-in-backups feature), but not for backups.


This is a screenshot confirming the presence of backup files in the R2 bucket.


This is a screenshot showing that the backup files cannot be displayed in the backend.

This is a screenshot of the log of the newly generated backup, which seems to indicate everything is normal.

The issue isn’t that the backup files are not there. The issue is that Discourse cannot get a listing of the files