Giter VIP home page Giter VIP logo

ghost-s3's Introduction

#UPDATE Update version 0.2.1 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)

Installation

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');

Configuration

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 (http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html)

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

Note 2 Uploads will be saved in the specified S3 bucket using keys (paths) in the form of /year/month/imageName-timeStamp.ext, where:

  • year - 4 digits of the current year;
  • month - 3 letter english abbreviation of the current month;
  • imageName - the original file name, with special characters converted to "_";
  • timeStamp - timestamp in milliseconds;
  • ext - the original file's extension (e.g. "png");

If, for whatever reason, you need to prefix that path with something, you can use the pathPrefix config option, like so:

pathPrefix: "some/path"

This will save files in pathPrefix/year/month/..., so you can neatly store ghost files and either share the S3 bucket with other apps or use CloudFront prefix rules as you see fit.

Copyright & License

Copyright (c) 2015 Hoang Pham Huu [email protected]

Released under the MIT license.

ghost-s3's People

Contributors

hoang-iso avatar muzix avatar garu avatar glenashley avatar jrichocean avatar joeyespo avatar aboutte avatar jethrocarr avatar

Stargazers

Tim Sullivan avatar

Watchers

Will Cannings avatar  avatar James Cloos avatar Babak Habibi avatar Mark Cohen avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.