basin

Deploy sites to Amazon S3

Node.js - basin

Deploy sites to Amazon S3

Sometimes you want a simple, cheap, no-fuss way to deploy a static site. Amazon S3 is a decent solution for this.

npm install [-g] basin

Generates a skeleton sample site at dir, including basin.conf.json.

var basin = require('basin')
 
basin.create('/tmp/basin-test', function(err) {
  //generates a skeleton example site 
})

Deploys dir to S3. Configures all objects and bucket for web access. If dir is not specified, then present working directory is used. The directory must contain basin.conf.json.

basin.deploy(function(errurl) {
 console.log(url); // 'http://MY-BUCKET-NAME.s3-website-us-east-1.amazonaws.com'; 
})
  • key: required, the S3 key. Can be found on the AWS Web Console.
  • secret: required, the S3 secret. Can be found on the AWS Web Console.
  • bucket: required, the name of the bucket.
  • region: defaults to us-east-1.
  • site.index: defaults to index.html.
  • site.error: defaults to error.html.
{
  "key": "",
  "secret": "",
  "bucket": "",
  "region": "us-east-1",
  "site": {
    "index": "index.html",
    "error": "error.html"
  }
}
Usage: basin [options]

Options:

  -h, --help       output usage information
  -V, --version    output the version number
  --create [dir]   Creates a skeleton site at the destination directory.
  --deploy         Deploys/publishes the current directory and sub directories. Must have basin.conf.json file present.
  --remote-delete  Deletes the remote S3 bucket. Must have basin.conf.json file present in current directory.

(MIT License)

Copyright 2012-2013, JP Richardson jprichardson@gmail.com