stackapRequest access

Product

Storage

Stackap keeps uploaded files in a Cloudflare R2 bucket in your own account and serves them through the open-source Supabase storage service, so code written for that API keeps working.

What it does

Files live in an object-storage bucket you control, not on the server's disk, so a deploy or a rebuilt server does not lose them. The storage service in front of the bucket is the official open-source Supabase storage API, which means an app that already uploads and downloads through the standard client does not need new code.

Buckets can be public or private, as they are in the original product. Public buckets give files a stable URL; private ones require a signed request.

The bucket sits in your Cloudflare account, so the encryption keys, the billing and the delete button are yours. R2 does not charge for data leaving it, which keeps the cost of serving files predictable.

How it works

The first real use is a Next.js site. Its buckets held 93 objects. All 93 were downloaded, checksummed, uploaded to the new storage and verified one by one. Sixty URLs stored in database columns were then rewritten to point at the new storage host, and the sampled images loaded from it.

The storage service is deployed by an operator script per project, and it uses the project's own database for its metadata. The metadata schema is included in the project's database backup, which has been restored and checked.

Early-access scope

Questions

Can I use the S3 API directly?
R2 itself speaks the S3 interface, and you hold its credentials in your own account. Stackap's own surface is the Supabase storage API in front of it.
What if I want to leave?
The files are already in your bucket. Nothing needs to be exported, because Stackap never held them.

Stackap is in early access. Tell us what you run and we will reply with a straight answer about whether it fits.

Ask for an invitation

Last updated .