Cloudflare R2
Storecraft supports Cloudflare R2
storage services.
Features
- Works in any
js
runtime and platform that supportsfetch
- Supports streaming
Get
/Put
/Delete
- Supports
presigned
Get
/Put
requests to offload to client
First,
npm i @storecraft/storage-s3-compatible
usage
import { App } from '@storecraft/core';import { R2 } from '@storecraft/storage-s3-compatible'const app = new App().withPlatform(new NodePlatform()).withDatabase(new MongoDB()).withStorage(new R2({account_id: process.env.CF_ACCOUNT_ID,bucket: process.env.S3_BUCKET,accessKeyId: process.env.S3_ACCESS_KEY_ID,secretAccessKey: process.env.S3_SECRET_ACCESS_KEY})).init();
config
Storecraft will search the following env
variables
CF_ACCOUNT_ID=...S3_BUCKET=...S3_ACCESS_KEY_ID=...S3_SECRET_ACCESS_KEY=...
So, you can instantiate with empty config
.withStorage(new R2())
All Rights Reserved, storecraft, (2025)