LaunchFast now works with Bunny Storage — and we didn’t have to ship a single line of starter kit code to make it happen.
Same repo. Same STORAGE_PROVIDER=s3. Plug in your Bunny S3 endpoint and credentials, and you’re uploading files through the same pre-signed URL flow LaunchFast already uses for Amazon S3, Cloudflare R2, and Neon Storage.
One stack. One dashboard. Ship faster.
Why this matters
LaunchFast treats object storage as S3-compatible by default. Bunny Storage exposes an S3 API, so avatars, uploads, and generated assets just work — no adapter, no fork, no waiting on a release.
- No code changes: The kit already supports custom S3 endpoints, Bunny Storage is already supported.
- Edge-friendly storage: Bunny Storage sits close to Bunny’s global CDN — a natural fit when you want fast file delivery without juggling multiple vendors.
- Simple pricing: Pay for storage and bandwidth on Bunny’s terms, not AWS egress surprises.
What’s included
- S3-compatible uploads and retrieval via LaunchFast’s existing
/api/storageroutes and<Upload />component - Pre-signed URLs for secure client-side uploads — identical flow to other S3 providers
- One env var:
AWS_ENDPOINT_URL_S3points the S3 client at your Bunny regional endpoint - Available in all frameworks: Astro, Next.js, and SvelteKit starter kits
Under the hood, LaunchFast’s S3 helper already routes requests through a custom endpoint when AWS_ENDPOINT_URL_S3 is set. Bunny Storage plugs into that same path.
Getting started
1. Create a Storage Zone with S3 compatibility
In the Bunny dashboard, go to Delivery → Storage and create a storage zone.
When creating the zone, enable S3 compatibility — this is required for LaunchFast’s S3-based upload flow. See Bunny’s storage quickstart for S3 compatibility.
2. Copy your S3 credentials
Open your storage zone, then go to Access → S3. Copy:
- S3 endpoint URL (regional, e.g.
https://[region]-s3.storage.bunnycdn.com) - Bucket name (your storage zone name)
- Access key ID (your storage zone name)
- Secret access key (your storage zone password)
- Region (example,
la)
3. Configure your .env
Set STORAGE_PROVIDER to s3, then add your Bunny Storage credentials:
STORAGE_PROVIDER="s3"
AWS_ENDPOINT_URL_S3="https://[region]-s3.storage.bunnycdn.com"AWS_KEY_ID="your-storage-zone-name"AWS_SECRET_ACCESS_KEY="your-storage-zone-password"AWS_S3_BUCKET_NAME="your-storage-zone-name"AWS_REGION_NAME="de"Do not set CLOUDFLARE_R2_ACCOUNT_ID when using Bunny Storage — that variable is only for Cloudflare R2.
Use the exact endpoint and region shown in your Bunny dashboard’s Access → S3 tab. Bunny’s access key is your storage zone name, not your account API key.
4. Run the app and upload a file
Start your dev server, sign in, and upload a profile image or any file through the built-in upload flow. LaunchFast generates a pre-signed PUT URL against your Bunny bucket, the browser uploads directly, and retrieval works through the same signed-URL path.
For framework-specific setup notes, see the Storage section in the starter kit README:
Other storage providers
Bunny Storage joins the storage providers LaunchFast already supports:
- Amazon S3 — /documentation/storage/amazon-s3/
- Cloudflare R2 — /documentation/storage/cloudflare-r2/
- Neon Storage — /blog/neon-storage-support/
- Supabase Storage — /documentation/storage/supabase/
- Firebase Storage — /documentation/storage/firebase/
Switch providers anytime by updating STORAGE_PROVIDER and the relevant env vars. No application code changes required.
Get started today
Ready to pair LaunchFast with edge storage and a global CDN?
Get LaunchFast Starter Kit and point it at Bunny Storage in minutes.