Registry / storage / ghost-storage-cloudinary

ghost-storage-cloudinary

JSON →
library3.0.2jsnpmunverified

Cloudinary storage adapter for Ghost blogs. v3.0.2 (stable) supports Ghost v5+ and Cloudinary Node.js SDK. Features dated subdirectories, tagging, and plugin support. Optionally uses CLOUDINARY_URL env var. Requires manual installation by copying to content/adapters/storage/.

npm install ghost-storage-cloudinary
INSTALL
IMPORT
SIG · GHOST-STORAGE-CLOU
G
ghost-storage-cloudinary
storagejavascriptv3.0.2
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

CloudinaryAdapter
✓ const CloudinaryAdapter = require('./path/to/ghost-storage-cloudinary');
✗ import CloudinaryAdapter from 'ghost-storage-cloudinary';
This adapter is loaded by Ghost using CommonJS require() at runtime. Do not import in application code.
Ghost Storage Config
✓ storage: { active: 'ghost-storage-cloudinary', 'ghost-storage-cloudinary': { auth: {}, upload: {}, fetch: {} } }
✗ storage: { active: 'cloudinary' }
The active adapter name must match the folder name: 'ghost-storage-cloudinary'.
Ghost CLI Config Command
✓ ghost config storage.active ghost-storage-cloudinary
✗ ghost config storage.active cloudinary
CLI config uses the full adapter name.

Installation and configuration of Ghost to use Cloudinary storage adapter.

// Step 1: Install and move to content/adapters/storage/ghost-storage-cloudinary // Step 2: Configure Ghost config.json { "storage": { "active": "ghost-storage-cloudinary", "ghost-storage-cloudinary": { "auth": { "cloud_name": process.env.CLOUDINARY_CLOUD_NAME ?? '', "api_key": process.env.CLOUDINARY_API_KEY ?? '', "api_secret": process.env.CLOUDINARY_API_SECRET ?? '' }, "upload": { "use_filename": true, "unique_filename": false, "overwrite": false }, "fetch": { "quality": "auto" } } }, "imageOptimization": false }
Debug
Known issues
gotchaMust disable Ghost's built-in Image Optimisation in config.json or it will conflict with Cloudinary.
fix
Add 'imageOptimization: false' to Ghost config.
affects: >=1.0.0
gotchaAdapter folder must be named 'ghost-storage-cloudinary' exactly when copied to content/adapters/storage/.
fix
Ensure the folder name matches the npm package name.
affects: >=1.0.0
gotchaConfiguration key for adapter settings must be 'ghost-storage-cloudinary' (not 'cloudinary').
fix
Use the full adapter name as the key under storage."
affects: >=1.0.0
Errors
Common errors & fixes
ENOENT: no such file or directory, open '.../content/adapters/storage/ghost-storage-cloudinary/index.js'
The adapter was not moved to the correct location.
fix
Run: mv node_modules/ghost-storage-cloudinary content/adapters/storage/ghost-storage-cloudinary
ConfigurationError: The 'storage' config must have an 'active' property.
Missing or invalid storage configuration in config.json.
fix
Add 'storage.active': 'ghost-storage-cloudinary' to Ghost config.
Error: Must supply cloud_name
Missing Cloudinary authentication credentials.
fix
Set auth config or CLOUDINARY_URL environment variable.
Upgrade
Version history
3.0.2latest on npm
Audit
Dependencies
ghostrequiredRuns as a Ghost storage adapter
cloudinaryrequiredCloudinary Node.js SDK for API calls
Agent activity
30 hits · last 30 days
node
26
Amazon
1
Resources
ghost-storage-cloudinary — npm install ghost-storage-cloudinary · libregistry