node package manager


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(err, url) {
 console.log(url); // ''; 
  • 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]


  -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