A stop-gap solution for using Vercel Blob Storage with Payload CMS v3
Report Bug
·
Request Feature
Important
Only for use with Payload CMS v3 (currently in alpha).
This package will be deprecated once the official Vercel Blob Storage adapter is released.
Table of Contents
$ npm install payload-cloud-storage-vercel-adapter
$ yarn add payload-cloud-storage-vercel-adapter
$ pnpm add payload-cloud-storage-vercel-adapter
Note
Requirements:
- Payload v3
Add the plugin within your Payload config as follows, passing in your Vercel Blob Storage token and storeId, and optionally any upload options.
import path from "path";
import { cloudStorage } from "@payloadcms/plugin-cloud-storage";
import { vercelBlobAdapter } from "payload-cloud-storage-vercel-adapter";
import { buildConfig } from "payload/config";
export default buildConfig({
plugins: [
cloudStorage({
collections: {
[Media.slug]: {
adapter: vercelBlobAdapter({
token: process.env.BLOB_READ_WRITE_TOKEN || "",
storeId: process.env.BLOB_STORE_ID || ""
}),
disableLocalStorage: true,
disablePayloadAccessControl: true
}
}
})
]
// The rest of your config goes here
});
This plugin allows for the following configuration options to be passed to the vercel package:
Name | Type | Required | Description |
---|---|---|---|
token |
string | Yes | Your Vercel API token. |
storeId |
string | Yes | The identifier of your Vercel storage. |
uploadOptions |
object | No | An object specifying options for uploads. |
uploadOptions.access |
string | No | Determines the access level for uploaded items. Default: public . |
uploadOptions.addRandomSuffix |
boolean | No | Indicates whether to add a random suffix to uploaded filenames. Default: false . |
uploadOptions.cacheControlMaxAge |
number | No | Specifies the maximum age for cache control headers (in seconds). Default: 31536000 (1 year). |
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. Don't forget to give the project a star! Thanks again!
- Changeset for changes to documentation, changelog generation, and release management.
- Fork the project and clone your fork:
gh repo fork --clone
- Create your feature branch:
git checkout -b feature/AmazingFeature
- Commit your changes:
git commit -m 'Add some AmazingFeature'
- Use the changeset cli to create a detailed description of your changes.
yarn changeset
This will be used to generate a changelog when we publish an update. Learn more about Changeset.
- Push branch and open a Pull Request
gh pr create
Distributed under the MIT License. See LICENSE
for more information.
Jarvis Prestidge - [email protected]
Project Link: https://github.com/jarvisprestidge/payload-cloud-storage-vercel-adapter