Bunny Storage Adapter

Bunny.net storage and stream adapter for Payload CMS with TUS resumable uploads and CDN cache purging.

Verified 50 1.1k/wk MIT v2.1.1

Installation

pnpm add @seshuk/payload-storage-bunny

About

Bunny.net storage adapter for Payload CMS, built on `@payloadcms/plugin-cloud-storage`. It uploads files, images, and documents to a Bunny Storage zone and serves them over the Bunny CDN. A separate Bunny Stream integration handles video through HLS and MP4 playback with adaptive bitrates and thumbnail extraction. The plugin attaches a cloud-storage adapter to each configured upload collection and forces `disableLocalStorage` on, so files never touch your server disk. For each collection it registers `afterChange`, `beforeRead`, and `beforeValidate` hooks, optional stream endpoints, and a cleanup task under Payload's jobs system. When Bunny Stream and TUS are enabled together it injects a `TusUpload` React component into the admin editor and a media preview field. Configuration is per-collection with global defaults. Options include a storage `prefix` per collection, `disablePayloadAccessControl` to serve assets directly from Bunny's CDN and bypass Payload auth, signed URLs with time limits and geo-restrictions, automatic CDN cache purging on upload and delete, thumbnail generation with customizable transforms, and custom URL transforms. Per-collection overrides can switch off storage or stream, change upload timeouts, or disable purging. Large video uploads use TUS resumable uploads with auto-resume on interruption. The plugin requires Payload 3.53.0 or higher (use 1.x for Payload 3.0.0 through 3.52.x). It needs a Bunny Storage API key, hostname, and zone name; Bunny Stream is optional. Bundled i18n translations cover the admin UI across multiple locales.

Package info

Package name
@seshuk/payload-storage-bunny
Latest version
2.1.1
Unpacked size
693 kB
License
MIT
Weekly downloads
1.1k
Last publish
Oct 5, 2025

More from maximseshuk

View profile

Similar plugins

More in Storage