Cloudflare R2 filesystem for Craft CMS
Note This plugin will remain in Beta at least as long as Cloudflare R2 is in Beta.
This plugin requires Craft CMS ^4.0.0-beta.1 and PHP ^8.0.2
To install the plugin, follow these instructions.
Open your terminal and go to your Craft project:
Then tell Composer to load the plugin:
composer require jrrdnx/craft-cloudflare-r2
Navigate to Settings -> Plugins and click the "Install" button for Cloudflare R2.
Warning Cloudflare R2 does not currently (as of the time of this writing) support ACLs with public-read access. In order to make your objects readable, you will need to set up a worker (read "Making objects public" below).
- Navigate to Settings -> Filesystems and click the "New Filesystem" button.
- Select "Cloudflare R2" from the "Filesystem Type" dropdown.
- Enter your Account ID, Access Key ID, and Secret Access Key (it's recommended to store these in your
.envfile and reference the environment variables here).
- Hit Refresh to load the bucket list, or choose the Manual option and enter the bucket name (again, you can store this in your
.envfile and reference the environment variable).
- Optionally add a Subfolder, determine whether or not to add the Subfolder to the Base URL, and set the Cache Control duration.
Making objects public (optional)
- In Cloudflare, you'll need to set up a subdomain for your workers. Navigate to Workers, and if you haven't already you'll be prompted to create this first.
- Follow Cloudflare's Get Started Guide to install and authenticate Wrangler, bind your bucket to a Worker, enable GET requests to your objects, and deploy your Worker.
- Your filesystem's "Base URL" will look like
Brought to you by Jarrod D Nix