ponyHost lets you to easily create Amazon S3 website buckets, push files to them and make them available under a *.ponyho.st or custom domain. A small HTTP server is also included.
To use ponyHost all you need to have is an Amazon S3 account and the access key id and secret.
The installation is as simple as:
$ gem install ponyhost
$ ponyhost create your-site
Will create the S3 bucket with a website configuration. Per default index.html will be the index document and 404.html the error document.
If the passed name doesn't include a '.' the default domain 'ponyho.st' will be used and your bucket will be named 'your-site.ponyho.st'.
If you prefer to use a custom domain just pass the name accordingly.
$ ponyhost create foo.yoursite.com
You'll have to setup a DNS CNAME record for foo.yoursite.com to s3-website-us-east-1.amazonaws.com. It's also possible to use a naked domain like yoursite.com. For that you have to point the @ record for yoursite.com to one of the IP's that s3-website-us-east-1.amazonaws.com points to (188.8.131.52) (not so good, but works :)
$ ponyhost push your-site
Will compare the md5 sum for each file in the current directory with the remote file and push the file if necessary. Currently it won't delete files in the bucket.
$ ponyhost server
Runs a very basic HTTP server for the current directory on http://localhost:9090
You can specify an alternative port with the
-p PORT option.
$ ponyhost destroy your-site
Will delete the bucket and all files on S3.
- Implement an autopush command
- Support other AWS availability zones
- Delete files in bucket on push