docs: add docs for all new storage packages

This commit is contained in:
Elliot DeNolf
2024-04-25 13:08:32 -04:00
parent 18ee6e8867
commit 30afe81462
7 changed files with 227 additions and 10 deletions

View File

@@ -1 +1,49 @@
# Vercel Blob Storage
# Vercel Blob Storage for Payload
This package provides a simple way to use [Vercel Blob](https://vercel.com/docs/storage/vercel-blob) storage with Payload.
**NOTE:** This package removes the need to use `@payloadcms/plugin-cloud-storage` as was needed in Payload 2.x.
## Installation
```sh
pnpm add @payloadcms/storage-vercel-blob
```
## Usage
- Configure the `collections` object to specify which collections should use the Vercel Blob adapter. The slug _must_ match one of your existing collection slugs.
- Ensure you have `BLOB_READ_WRITE_TOKEN` set in your Vercel environment variables. This is usually set by Vercel automatically after adding blob storage to your project.
- When enabled, this package will automatically set `disableLocalStorage` to `true` for each collection.
```ts
import { vercelBlobStorage } from '@payloadcms/storage-vercel-blob'
import { Media } from './collections/Media'
import { MediaWithPrefix } from './collections/MediaWithPrefix'
export default buildConfig({
collections: [Media, MediaWithPrefix],
plugins: [
vercelBlobStorage({
enabled: true, // Optional, defaults to true
// Specify which collections should use Vercel Blob
collections: {
[Media.slug]: true,
[MediaWithPrefix.slug]: {
prefix: 'my-prefix',
},
},
// Token provided by Vercel once Blob storage is added to your Vercel project
token: process.env.BLOB_READ_WRITE_TOKEN,
}),
],
})
```
| Option | Description | Default |
| -------------------- | -------------------------------------------------------------------- | ----------------------------- |
| `enabled` | Whether or not to enable the plugin | `true` |
| `collections` | Collections to apply the Vercel Blob adapter to | |
| `addRandomSuffix` | Add a random suffix to the uploaded file name in Vercel Blob storage | `false` |
| `cacheControlMaxAge` | Cache-Control max-age in seconds | `365 * 24 * 60 * 60` (1 Year) |
| `token` | Vercel Blob storage read/write token | `''` |

View File

@@ -14,14 +14,15 @@ import { getStaticHandler } from './staticHandler.js'
export type VercelBlobStorageOptions = {
/**
* Access control level
* Access control level. Currently, only 'public' is supported.
* Vercel plans on adding support for private blobs in the future.
*
* @default 'public'
*/
access?: 'public'
/**
* Add a random suffix to the uploaded file name
* Add a random suffix to the uploaded file name in Vercel Blob storage
*
* @default false
*/
@@ -30,7 +31,7 @@ export type VercelBlobStorageOptions = {
/**
* Cache-Control max-age in seconds
*
* @default 31536000 (1 year)
* @defaultvalue 365 * 24 * 60 * 60 (1 Year)
*/
cacheControlMaxAge?: number