Cloudflare R2
Before you begin
A Cloudflare account with R2 enabled.
Steps
- Cloudflare dashboard → R2 → create a bucket.
- R2 → Manage API tokens → create a token with Object Read & Write scoped to that bucket; copy the Access Key ID and Secret Access Key.
- In Universal Storage → Settings: choose provider preset Cloudflare R2, set
Region to
auto, set Endpoint tohttps://<account-id>.r2.cloudflarestorage.com, and enable Force Path Style. - Enter the Access Key ID / Secret Access Key from step 2, then Test connection.
Public delivery
Either enable the bucket’s public r2.dev domain, or connect a custom domain, and set it
as the CDN/Base URL in Universal Storage → Storage.
Verify it worked
Test connection passes all steps. Uploading a test image (see Your first upload) shows the file in the R2 bucket.
Troubleshooting
Connection fails — double-check the endpoint includes your Cloudflare account ID and that Force Path Style is enabled; R2 requires it.
Cross-provider migration between Amazon S3 and Cloudflare R2, with verify-before-switch safety, is a Pro capability.