Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@whollacsek/ghost-s3-compat

spanishdict4MIT2.1.1

Store Ghost's images on S3 and proxy requests for local images to S3.

ghost, aws, amazon, s3, storage, plugin, blog

readme

Ghost S3 Storage, compatability mode

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-compat
$ mkdir content/storage
$ cp -r node_modules/ghost-s3-compat content/storage/ghost-s3-compat

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.

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

Released under the MIT license.

changelog

ghost-s3-compat

2.1.0

Changed

  • Updated for ghost v0.10 compatability (#11 thanks to @acburdine)

2.0.0

Changed

  • Restored the ability to specify an assetHost in the Ghost config.js file.
  • Added logging on image serving errors.

Fixed

  • Use path-style URLs to construct the S3 endpoint images can be read from to avoid certificate validation failures. This is necessary because common bucket naming can include one or more dots (.), such as images.yourdomain.com. If you a virtual-hosted–style URL https://images.yourdomain.com.s3.amazonaws.com would fail a certificate validity check because AWS uses a *.s3.amazonaws.com wildcard cert. The certificate would be deemed invalid because RFC2818 allows matching of only a single domain for a given wild card character.

[1.0.2] - 2016-04-20

Changed

  • Add support for proxying local image requests to S3

[1.0.1] - 2016-04-20