No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

#UPDATE Update version 0.2.2 for Ghost 0.6.0

Ghost S3 Storage

This module allows you to store media file at Amazon S3 instead of storing at local machine, especially helpful for ghost blog hosted at heroku (no local storage). Work with latest version 0.6.0 of Ghost! (Use module version 0.1.7 for Ghost version < 0.6.0)


npm install --save ghost-s3-storage

Create storage module

Create index.js file with folder path 'content/storage/ghost-s3/index.js' (manually create folder if not exist)

'use strict';
module.exports = require('ghost-s3-storage');


Create new Amazon S3 bucket and new IAM User with permissions allowed to put and get object from that bucket. Remember saving ACCESS_KEY and ACCESS_SECRET_KEY.

Add storage block to file config.js in each environment as below:

storage: {
    active: 'ghost-s3',
    'ghost-s3': {
        accessKeyId: 'Put_your_access_key_here',
        secretAccessKey: 'Put_your_secret_key_here',
        bucket: 'Put_your_bucket_name',
        region: 'Put_your_bucket_region',
        assetHost: 'Put_your_cdn_url*'

Note 1 You can use assetHost config to specify S3 bucket full-url in virtual host style, path style or custom domain (

Restart app then test upload new image in blog post. Image will be store at newly S3 bucket.

Copyright & License

Copyright (c) 2015 Hoang Pham Huu

Released under the MIT license.