An AWS S3 storage adapter for Ghost blogging platform (v1.x). Current version 2.8.0 provides a drop-in storage backend for Ghost 1.x, allowing media uploads to be stored in an S3-compatible bucket instead of the local filesystem. It supports configuration via JSON or environment variables, optional CDN integration with assetHost, SSE, path prefix, endpoint for third-party S3 providers, and ACL management. Compared to built-in local storage or other adapters, it offers direct S3 integration with IAM role support and is designed specifically for Ghost's storage API. Maintained on GitHub with periodic releases for minor updates and bug fixes.
npm install ghost-storage-adapter-s3No compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Install, configure with AWS credentials and bucket, copy to Ghost's adapter folder, restart.
Use ghost-storage-adapter-s3@1.3.0 for Ghost 0.10.x/0.11.x
Ensure assetHost string starts with '//' or full protocol like 'https://'
Set acl to appropriate private or omit if using CloudFront OAI
Configure endpoint and forcePathStyle in adapter settings
Plan to switch to @aws-sdk/client-s3 when adapter is updated
Verify endpoint, region, and network access (firewall/proxy). For AWS S3, endpoint is implicit.
Ensure IAM user has s3:PutObject, s3:GetObject, s3:DeleteObject, s3:ListBucket on target bucket resources.
Add 'signatureVersion': 'v4' to S3 adapter config.
Ensure adapter is in ./content/adapters/storage/s3/ and Ghost version is 1.x.