Skip to main content
Set up automatically with the wizard, or configure by hand.

Automatic setup

The setup wizard is the fastest path — it provisions the Bunny resources for you and prints a ready-to-paste plugin config plus .env lines, with no manual dashboard steps:
See Setup wizard for what it asks and everything it creates.

Manual setup

1

Install

Requires Payload CMS 3.83.0 or later and Node.js 22 or later.
2

Configure storage

Add the plugin to your Payload config and map an upload collection to Bunny Storage:
payload.config.ts
Files uploaded to the media collection are now stored in Bunny Storage and served from the CDN.
3

Add video streaming (optional)

To route video uploads to Bunny Stream, add a stream block. Non-video files continue to use Bunny Storage.
payload.config.ts
With Payload access control on (the default), Stream needs mp4Fallback: true or signed URLs with redirect — otherwise the plugin throws at startup. See Access control and mp4Fallback.Videos now upload to Bunny Stream and expose an HLS playlist through the bunnyData field.

Next steps

  • Configuration — every option, including signed URLs, thumbnails and cache purging
  • Examples — complete configurations for common setups
  • Client uploads — browser-direct uploads for serverless hosts and large files
  • Upgrading from v2? — the v3 config changes and data migration