Cloudflare R2
Cloudflare R2
Cloudflare R2 filesystem for Craft CMS
Note This plugin will remain in Beta at least as long as Cloudflare R2 is in Beta.
Requirements
This plugin requires Craft CMS ^4.0.0-beta.1 and PHP ^8.0.2
Installation
To install the plugin, follow these instructions.
Open your terminal and go to your Craft project:
cd /path/to/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.
Configuring filesystem
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
.env
file 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
.env
file 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
https://WORKER_NAME.SUBDOMAIN.workers.dev
Misc
Brought to you by Jarrod D Nix
- Installation Instructions
To install this plugin, copy the command above to your terminal.
- Active Installs
- 53
- License
- MIT
- Last release
- December 29, 2022
- Activity (30 days)
- 0Closed Issues0Open Issues0Merged PRs0Open PRs