Cloudflare R2

Store portable Playstack objects through a structural R2 binding with explicit public and signed URL capabilities.

Visit Cloudflare R2 ↗

Supported features

File storage

Store and retrieve application objects through explicit filesystem, S3, or R2 providers with validated keys, metadata, streaming bodies, and signed access.

Portable object storage · Signed download and upload access

Package reference

@playstack/storage

Use the native Worker binding

@playstack/storage/r2 accepts a structural R2 bucket, so importing the adapter does not require ambient Cloudflare types. Object keys, metadata, prefixes, streaming reads, and capability checks remain portable.

ts
import { createStorage } from '@playstack/storage'
import { R2StorageProvider } from '@playstack/storage/r2'

const storage = createStorage({
  driver: new R2StorageProvider(env.ASSETS, {
    publicBaseUrl: 'https://assets.example.com',
  }),
})

The Workers binding handles object operations but does not mint presigned URLs. Applications that require signed access supply a signer backed by R2's S3-compatible credentials. Bucket lifecycle and provider administration remain native operations.

Go

Playstack Pro tag
OriginsPricingBlogNewsletterChangelogStatusRoadmap
ContributorsCommunityIn Use ShowcaseCase StudiesPartnersSponsors
FAQsSupportContact

© 2026 Playstack. All rights reserved.

With OSS
Terms of ServicePrivacy PolicyCookie PolicyImprint

By

Commune Software