Skip to main content
@seshuk/payload-storage-bunny stores and serves your Payload media on bunny.net. It wraps @payloadcms/plugin-cloud-storage, so uploads from your collections go straight to Bunny Storage and Stream and are delivered from Bunny’s global CDN — wired into the admin panel with no extra glue.

Key features

  • Bunny Storage — images, documents, and any non-video file.
  • Bunny Stream — videos and audio with adaptive HLS/MP4 playback, thumbnails, and TUS resumable uploads.
  • Client uploads — send file bytes straight from the browser to Bunny, bypassing serverless body-size limits.
  • Signed URLs — time-limited, geo-restricted access to files and videos.
  • Cache purging — invalidate the CDN automatically on upload and delete.
  • Collection overrides — keep one set of plugin options and tune every option per collection.

Requirements

Payload 4 and Node.js 24.15 or later. For Payload 3, use v3 of the plugin. See the upgrade guide to move from v3 to v4.

Where to go next

Setup wizard

Run one command — it provisions your Bunny resources and prints ready-to-paste options.

Quick start

Install the plugin and point a collection at Bunny.

Configuration

Every option explained, from API keys to per-collection overrides.

Stream

Serve video with HLS, MP4 fallback, and resumable TUS uploads.

Storage

Store images and documents, delivered fast from the Bunny CDN.

Upgrade guide

Upgrade between major plugin versions — option changes and the stored-data migration.

Examples

Copy-ready options for common setups and real-world patterns.