Skip to main content
@seshuk/payload-storage-bunny stores and serves your Payload CMS 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 plugin config and tune every option per collection.

Requirements

Payload CMS 3.83.0 or later, and Node.js 22 or later.

Where to go next

Setup wizard

Run one command — it provisions your Bunny resources and prints a ready config.

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 — config changes and the stored-data migration.

Examples

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