# Payload Storage Bunny > Bunny.net storage adapter for Payload CMS ## Docs - [Introduction](https://payload-storage-bunny.seshuk.im/introduction.md): Store and serve Payload CMS media on Bunny.net Storage and Stream, delivered from the global Bunny CDN. - [Quick start](https://payload-storage-bunny.seshuk.im/quick-start.md): Install the plugin and point a Payload collection at Bunny Storage and Stream — automatically with the wizard, or by hand. - [Upgrade guide](https://payload-storage-bunny.seshuk.im/upgrade-guide.md): Upgrade between major versions of the Bunny Storage plugin — config changes and the stored-data migration. - [Changelog](https://payload-storage-bunny.seshuk.im/changelog.md): Release history for the Bunny Storage plugin for Payload CMS. - [Overview](https://payload-storage-bunny.seshuk.im/configuration/overview.md): Configure the payload-storage-bunny plugin with a single bunnyStorage() call, covering top-level options and startup requirements. - [Storage](https://payload-storage-bunny.seshuk.im/configuration/storage/overview.md): Configure the Bunny Storage block for files, images, and documents, including S3 mode and per-collection zones. - [Client uploads](https://payload-storage-bunny.seshuk.im/configuration/storage/client-uploads.md): Send file bytes straight from the browser to Bunny using presigned S3 or an Edge Script, bypassing the Payload server. - [Stream](https://payload-storage-bunny.seshuk.im/configuration/stream/overview.md): Configure the Bunny Stream block for video and audio with HLS/MP4 playback, thumbnails, cleanup, and per-collection libraries. - [TUS uploads](https://payload-storage-bunny.seshuk.im/configuration/stream/tus.md): Enable resumable, chunked TUS uploads that go browser-direct to Bunny Stream with short-lived server authorization. - [Webhooks](https://payload-storage-bunny.seshuk.im/configuration/stream/webhooks.md): Verify Bunny Stream encoding-status webhooks with your library's Read-Only API key and update MP4 fallback resolutions. - [Collection overrides](https://payload-storage-bunny.seshuk.im/configuration/collection-overrides.md): Override individual plugin options per collection, including partial vs full-replacement configs and per-collection zones or libraries. - [Signed URLs](https://payload-storage-bunny.seshuk.im/configuration/signed-urls.md): Add time limits, country restrictions, and IP locking to Bunny Storage and Stream file links. - [Thumbnails](https://payload-storage-bunny.seshuk.im/configuration/thumbnails.md): Populate a thumbnailURL field on upload documents for admin previews and API responses. - [Cache purge](https://payload-storage-bunny.seshuk.im/configuration/cache-purge.md): Invalidate Bunny's CDN edge cache automatically after every upload and delete. - [URL transforms](https://payload-storage-bunny.seshuk.im/configuration/url-transforms.md): Rewrite the public URLs the plugin generates with query params, cache-busting timestamps, or a custom function. - [Telemetry](https://payload-storage-bunny.seshuk.im/configuration/telemetry.md): Anonymous, opt-out usage telemetry: what is collected, what is never sent, and how to turn it off. - [Setup wizard](https://payload-storage-bunny.seshuk.im/cli/init.md): Interactive init command that provisions Bunny resources and prints a ready-to-paste plugin config and .env lines. - [Deploy the Edge Script](https://payload-storage-bunny.seshuk.im/cli/deploy-edge-script.md): Deploy one shared Bunny Edge Script that serves browser-direct client uploads for all your non-s3 storage zones. - [Stored data](https://payload-storage-bunny.seshuk.im/guides/stored-data.md): How the plugin stores Bunny Stream metadata on documents via the hidden bunnyData field, what is stored vs. computed, and how to query it. - [Multi-tenant](https://payload-storage-bunny.seshuk.im/guides/multi-tenant.md): A recipe for multi-tenant Bunny storage using per-document path prefixes, signed URLs, and Payload access control — with no tenancy option required. - [Stream collections](https://payload-storage-bunny.seshuk.im/guides/stream-collections.md): A recipe for organizing Bunny Stream videos into per-tenant collections after upload using an afterChange hook and the resolved-config accessor. - [Media preview](https://payload-storage-bunny.seshuk.im/guides/media-preview.md): Show inline Bunny Stream video and audio previews in the Payload admin using the media-preview plugin and the Bunny Stream adapter. - [Examples](https://payload-storage-bunny.seshuk.im/guides/examples.md): Copy-ready bunnyStorage configurations for storage, streaming, signed URLs, thumbnails, client uploads, and multi-collection setups. - [API reference](https://payload-storage-bunny.seshuk.im/api-reference/overview.md): HTTP endpoints the plugin adds to your Payload app for client uploads, TUS authorization, and the Stream webhook. - [Mint a client-upload URL](https://payload-storage-bunny.seshuk.im/api-reference/bunny-storage/mint-a-client-upload-url.md): Returns a short-lived signed (edge) or presigned (S3) URL so the browser can `PUT` file bytes straight to Bunny. Runs the collection's `clientUploads.access` check and validates the file against `upload.mimeTypes` and `upload.limits.fileSize`. See [Client uploads](/configuration/storage/client-uploa… - [Create or resume a TUS upload session](https://payload-storage-bunny.seshuk.im/api-reference/bunny-stream/create-or-resume-a-tus-upload-session.md): Creates the video in Bunny Stream (if needed) and returns a signed TUS authorization so the browser can upload directly to Bunny. Access is gated by `stream.tus.checkAccess` or the built-in rule. See [TUS uploads](/configuration/stream/tus). - [Bunny Stream encoding-status webhook](https://payload-storage-bunny.seshuk.im/api-reference/bunny-stream/bunny-stream-encoding-status-webhook.md): Receives encoding-status callbacks from Bunny Stream. On completion (with `mp4Fallback` enabled) the plugin fills in `bunnyData.stream.resolutions`. Authenticated by an HMAC signature, not a Payload session. Set the webhook URL in your Bunny Stream library to this path. See [Webhooks](/configuration… ## OpenAPI Specs - [openapi](https://payload-storage-bunny.seshuk.im/api-reference/openapi.json)