---
title: "Bunny Storage Support Now Available in LaunchFast Starter Kits"
description: "LaunchFast works with Bunny Storage out of the box. Same STORAGE_PROVIDER=s3, same pre-signed upload flow. Point AWS_ENDPOINT_URL_S3 at your Bunny S3 endpoint. Bunny S3 is in private preview."
source: "https://www.launchfa.st/blog/bunny-storage-support"
author: "Rishi Raj Jain"
created_at: 2026-06-16T12:00:00.000Z
keywords: "bunny, bunny storage, bunnycdn, s3, object storage, cdn, launchfast, starter kit, edge storage"
---

> **Site index for agents**
> Fetch https://www.launchfa.st/llms.txt to discover every page on this site.
> Every page is also available as Markdown by appending `.md` to its URL.

<img width="1600" height="900" alt="Bunny Storage Support Now Available in LaunchFast Starter Kits" decoding="async" loading="eager" class="mt-4 border rounded-sm bg-cover bg-center bg-no-repeat transform will-change-auto" src="https://ik.imagekit.io/vjeqenuhn/launchfast-website/bunny-storage-support.jpg" />

LaunchFast now works with [**Bunny Storage**](https://bunny.net/storage/), and we didn't have to ship a single line of starter kit code to make it happen.

> **Note:** Bunny's S3-compatible API is currently in **private preview**. You'll need access from Bunny before you can create a storage zone with S3 compatibility enabled.

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.**

<video controls class="rounded aspect-video" autoplay="false">
    <source src="https://ik.imagekit.io/vjeqenuhn/bunny-storage-support.mp4" type="video/mp4">
</video>

## 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/storage` routes and `<Upload />` component
- **Pre-signed URLs** for secure client-side uploads, identical flow to other S3 providers
- **One env var**: `AWS_ENDPOINT_URL_S3` points 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. Get access to Bunny S3 (private preview)

Bunny's S3-compatible storage API is in **private preview**. Request access from Bunny before continuing. The S3 option won't appear in your dashboard until your account is enabled.

### 2. Create a Storage Zone with S3 compatibility

In the [Bunny dashboard](https://dash.bunny.net/), 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](https://docs.bunny.net/storage/s3) for S3 compatibility.

### 3. Copy your S3 credentials

Open your storage zone, then go to **Access → S3**. You will need:

- 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`)

### 4. Configure your `.env`

Set `STORAGE_PROVIDER` to `s3`, then add your Bunny Storage credentials:

```bash
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.

### 5. 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:

- [Astro](https://github.com/LaunchFast-Boilerplates/launchfa.st-astro#storage)
- [Next.js](https://github.com/LaunchFast-Boilerplates/launchfa.st-nextjs#storage)
- [SvelteKit](https://github.com/LaunchFast-Boilerplates/launchfa.st-sveltekit#storage)

## Other storage providers

Bunny Storage joins the storage providers LaunchFast already supports:

- **Amazon S3**: [/documentation/storage/amazon-s3/](/documentation/storage/amazon-s3/)
- **Cloudflare R2**: [/documentation/storage/cloudflare-r2/](/documentation/storage/cloudflare-r2/)
- **Neon Storage**: [/blog/neon-storage-support/](/blog/neon-storage-support/)
- **Supabase Storage**: [/documentation/storage/supabase/](/documentation/storage/supabase/)
- **Firebase Storage**: [/documentation/storage/firebase/](/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.
