payload-cloudinary
v1.5.0
Published
A Cloudinary storage plugin for Payload CMS
Downloads
374
Maintainers
Readme
Payload CMS Cloudinary Plugin
A plugin for Payload CMS that integrates Cloudinary as a storage adapter for media files. This plugin allows you to seamlessly store and manage your media files on Cloudinary while using Payload CMS.
Features
- 🚀 Seamless integration with Payload CMS
- 📦 Automatic file upload to Cloudinary
- 🗑️ Automatic file deletion from Cloudinary
- 🔗 URL generation for stored files
- 📁 Customizable folder structure
- 🎛️ Static file handling
- 💾 Optional local storage disable
Installation
npm i payload-cloudinary
Configuration
Here's how to use the plugin in your Payload CMS configuration:
import { cloudinaryStorage } from 'payload-cloudinary'
const config = buildConfig({
// ... your payload config
plugins: [
cloudinaryStorage({
config: {
cloud_name: 'your-cloud-name',
api_key: 'your-api-key',
api_secret: 'your-api-secret'
},
collections: {
'media': true, // Enable for media collection
// Add more collections as needed
},
folder: 'your-folder-name', // Optional, defaults to 'payload-media'
disableLocalStorage: true, // Optional, defaults to true
enabled: true // Optional, defaults to true
})
]
})
Options
config
: Your Cloudinary configuration credentialscloud_name
: Your Cloudinary cloud nameapi_key
: Your Cloudinary API keyapi_secret
: Your Cloudinary API secret
collections
: Specify which collections should use Cloudinary storagefolder
: The folder path in Cloudinary where files will be uploaded (default: 'payload-media')disableLocalStorage
: Whether to disable local storage (default: true)enabled
: Whether to enable the plugin (default: true)
Development
To run the project in development mode:
bun run src/index.ts
Requirements
This project uses Bun as its JavaScript runtime. Make sure you have Bun installed (v1.1.38 or later).
License
This project is open-source. See the LICENSE file for more details.
Contact
For any questions or support, please contact me at Syed Muzamil.