Cloudflare R2
backends:
- id: r2
name: "Cloudflare R2"
type: s3v4
endpoint: https://<account-id>.r2.cloudflarestorage.com
region: auto
access_key_env: R2_ACCESS_KEY_ID
secret_key_env: R2_SECRET_ACCESS_KEY
path_style: false#Notes
- Replace
<account-id>with your Cloudflare account ID — find it in the Cloudflare dashboard. region: autois what R2 expects. Setting a real AWS region works too, butautois the documented value.- Generate the credentials via Cloudflare's R2 dashboard (R2 → Manage R2 API Tokens → Create API Token). The same token can be scoped per-bucket, which pairs nicely with Stowage's per-credential bucket scope on the embedded SigV4 proxy.
- R2 does not implement bucket lifecycle in the AWS-compatible shape; the dashboard's lifecycle pane surfaces an upstream error there.
- R2 does support multi-part uploads and the SigV4 path the proxy uses.