Skip to content

Read and write images from S3 in the Ghost blogging platfrom

License

Notifications You must be signed in to change notification settings

aorcsik/ghost-s3-storage-adapter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ghost S3 Storage Adapter

Minimum required Ghost version: 0.10.0

This module allows you to read and write images from Amazon S3 instead of storing them locally.

After installing, new images that you save will use an absolute URL to S3. Any requests to /content/images/ will be proxied to S3, so that any previous images in your blog will not be affected.

Installation

You will need to have a the custom storage module directly in your project directory, the easiest way to do this is:

$ npm install ghost-s3-storage-adapter
$ mkdir content/storage
$ cp -r node_modules/ghost-s3-storage-adapter content/storage/ghost-s3

Alternative method is to use the node module and create an 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-adapter');

Configuration

Create new IAM User with permissions to get object from that bucket. Save the ACCESS_KEY and ACCESS_SECRET_KEY.

In config.js, add a storage block for each environment.

    storage: {
        active: 'ghost-s3',
        'ghost-s3': {
            accessKeyId: 'Put_your_access_key_here',
            secretAccessKey: 'Put_your_secret_key_here',
            bucket: 'Put_your_bucket_name_here',
            region: 'Put_your_bucket_region_here'
        }
    },

Asset host

You can add assetHost to your config to specify a virtual host url. This is most frequently used with a content delivery network (CDN) such as CloudFront, CloudFlare, or others. The modified storage block would be:

    storage: {
        active: 'ghost-s3',
        'ghost-s3': {
            accessKeyId: 'ACCESS_KEY',
            secretAccessKey: 'SECRET_ACCESS_KEY',
            bucket: 'S3_BUCKET_NAME',
            region: 'S3_REGION',
            assetHost: 'https://cdn.yourdomain.com/'
        }
    }

You can add assetHost to your config to specify a virtual host url. For more information, read this section in the AWS docs.

Copyright & License

  • Original work Copyright (c) 2015 Hoang Pham Huu phamhuuhoang@gmail.com
  • Modified work Copyright (c) 2016 Curiosity Media, Inc.

Released under the MIT license.

About

Read and write images from S3 in the Ghost blogging platfrom

Resources

License

Stars

Watchers

Forks

Languages

  • JavaScript 100.0%