Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Simple Rails deployment and configuration management. 15 minute deploys of Rails 2 or Rails 3 apps.

This branch is 0 commits ahead and 10 commits behind master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Readme.rdoc

Moonshine

Moonshine is Rails deployment and configuration management done right.

By leveraging capistrano and puppet, moonshine allows you have a working application server in 15 minutes, and be able to sanely manage it's configuration from the comfort of your version control of choice.

To get started, check out our tutorial. It covers configuring and deploying your application for the first time with Moonshine.

Once you're a bit more comfortable with Moonshine, you'll find our documentation on the wiki to be helpful!

Requirements

  • A server running Ubuntu 8.10 or 10.04 LTS (Want to see your favorite platform supported? Fork Moonshine on GitHub!)

  • A Rails 2.3 or Rails 3 app

  • A user on this server that can:

    • Execute commands via sudo

    • Access your application's source code repository

Installation

It's also pretty simple!

$ script/plugin install git://github.com/railsmachine/moonshine.git
# Rails 3
$ script/rails generate moonshine
# Rails 2
$ script/generate moonshine

Running Tests

It's easy enough:

$ gem install shadow_puppet isolate-scenarios
$ rake spec

isolate-scenarios is used to test against multiple versions of Rails. To run all scenarios at once:

$ isolate-scenarios rake spec

Getting Help

You can find more examples in the documentation and on the Wiki.

For help or general discussion, visit the Moonshine newsgroup.

Passenger Enterprise Support

We've added support for Passenger Enterprise Edition! In order to install it, you need to make a few changes to moonshine.yml. Since you have to download the gem from Phusion, you now need to tell us where it is. You also need to put your license file in app/manifests/templates and call it passenger-enterprise-license so we can put it in the right place during install.

This is what a passenger enterprise block in moonshine.yml should look like (in addition to your usual Passenger settings):

<pre><code>:passenger:

:version: 3.0.18
:enterprise: true
:gemfile: vendor/gems/passenger-enterprise-server-3.0.18.gem
:rolling_restarts: true</code></pre>
Something went wrong with that request. Please try again.