diff --git a/www/apps/resources/app/architectural-modules/file/s3/page.mdx b/www/apps/resources/app/architectural-modules/file/s3/page.mdx
index e94aa3dbaed1a..5c25de31c3469 100644
--- a/www/apps/resources/app/architectural-modules/file/s3/page.mdx
+++ b/www/apps/resources/app/architectural-modules/file/s3/page.mdx
@@ -97,6 +97,30 @@ The S3 File Module Provider integrates Amazon S3 and services following a compat
4. Click ALL for "Allowed Operations", click the "Review" button, then the "Save policy" button.
+
+ 1. Create a [Cloudflare account](https://dash.cloudflare.com/sign-up).
+ 2. Set up your R2 bucket:
+ - Navigate to R2 Object Storage in your dashboard. You may need to provide your credit-card information.
+ - Click "Create bucket"
+ - Enter a unique bucket name
+ - Select "Automatic" for location
+ - Choose "Standard" for storage class
+ - Confirm by clicking "Create bucket"
+ 3. Configure public access:
+ - On your bucket's dashboard, click on the Settings tab.
+ - Scroll down to the Public Access section, and click on "Allow Access" in the "R2.dev subdomain" card.
+ - Type 'allow' to confirm
+ - Copy the Public R2.dev Bucket URL for your `S3_FILE_URL`
+ 4. Retrieve credentials:
+ - [Go to API tokens page](https://dash.cloudflare.com/?to=/:account/r2/api-tokens):
+ - Select "Create API token"
+ - Edit the "R2 Token" name
+ - Under Permissions, select Object Read & Write permission types
+ - You can optionally specify the buckets that this API token has access to under the "Specify bucket(s)" section.
+ - Once done, click the "Create API Token" button.
+ - You'll receive an access key ID and a secret access key. Save them to use them later for the `S3_ACCESS_KEY_ID` and `S3_SECRET_ACCESS_KEY` environment variables.
+
+
@@ -170,6 +194,7 @@ module.exports = {
- For MinIO, it's the URL to the MinIO server with the bucket's name. For example, `https://{server-domain}/{bucket}`.
- For DigitalOcean Spaces, it's either the Origin Endpoint or the CDN endpoint of your Spaces Object Storage bucket.
- for Supabase, it's `https://{uniqueID}.supabase.co/storage/v1/object/public/{bucket}`. You can retrieve the `uniqueID` from [Storage Settings](https://supabase.com/docs/guides/storage/s3/authentication?queryGroups=language&language=javascript#s3-access-keys) page in the Endpoint URL.
+ - For Cloudflare R2, it's `Public R2.dev Bucket URL`.
@@ -223,6 +248,8 @@ module.exports = {
The bucket's region code.
For MinIO, use `us-east-1`.
+
+ For Cloudflare, use `auto`.
@@ -262,6 +289,7 @@ module.exports = {
- For MinIO, it's the URL to the MinIO server.
- For DigitalOcean Spaces, it's the Spaces Origin Endpoint of the format `https://{region}.digitaloceanspaces.com`.
- For Supabase, it's the Endpoint URL in the [Storage Settings](https://supabase.com/docs/guides/storage/s3/authentication?queryGroups=language&language=javascript#s3-access-keys).
+ - For Cloudflare, it's `https://{your-account-id}.r2.cloudflarestorage.com`.