Meroku
======
because hosting 100 apps costs $700 ($7x100) at you-know-where.com
[![Maintainability](https://api.codeclimate.com/v1/badges/cfec7757799809e85194/maintainability)](https://codeclimate.com/github/meroku/meroku/maintainability)
[![Coverage](https://img.shields.io/codeclimate/coverage/github/meroku/meroku.svg?style=flat-square)](https://codeclimate.com/github/meroku/meroku)
[![Build](https://img.shields.io/travis-ci/meroku/meroku.svg?style=flat-square)](https://travis-ci.org/meroku/meroku)
[![Dependencies](https://img.shields.io/gemnasium/meroku/meroku.svg?style=flat-square)](https://gemnasium.com/meroku/meroku)
[![Issues](https://img.shields.io/github/issues/meroku/meroku.svg?style=flat-square)](https://github.com/meroku/meroku/issues)
[![License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](http://opensource.org/licenses/MIT)
[![Gem Version](https://badge.fury.io/rb/meroku.svg)](https://badge.fury.io/rb/meroku)
[![Donate](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/meroku/donate)
## Installation
Make sure you have the latest stable ruby installed
```bash
ruby --version
```
And then execute:
$ gem install meroku
## Usage
When inside a git repository containing a rails application,
do a single command deployment by running
$ git push meroku master
Get additional help by doing
$ meroku --help
Usage: meroku [options]
--help Prints this help
--signup EMAIL,PASSWORD
--unregister EMAIL,PASSWORD
--login EMAIL,PASSWORD
--logout
--keys-add
--keys List already uploaded keys
--keys-remove ID
--create NAME Create an app
--list-apps
--delete-app NAME
--spawn MEROKU_SECRET Spawn infrastructure
--despawn MEROKU_SECRET
## Development
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
$ ./guard # keeps an eye on test fails and rubocop warnings
External / api dependencies
If you were to set up a meroku clone for your personal use, you would need
- A secret ( a 12 charactor hex string )
- An s3 bucket with the name $secret
- Your Ec2 default security group should allow all traffic
- An elastic ip allocation. Usually has a name like "eipalloc-..."
- A free certificate for your domain from letsencrypt
- You would also need a wildcard certificate so that consumer apps work without warnings in https:// mode
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/meroku/meroku.
## License
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).