{"id":13463303,"url":"https://github.com/railsmachine/moonshine","last_synced_at":"2025-03-25T06:31:47.003Z","repository":{"id":521868,"uuid":"150235","full_name":"railsmachine/moonshine","owner":"railsmachine","description":"Simple Rails deployment and configuration management. 15 minute deploys of Rails 2, 3, or 4 apps.","archived":false,"fork":false,"pushed_at":"2022-06-20T19:05:47.000Z","size":1354,"stargazers_count":668,"open_issues_count":9,"forks_count":69,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-03-03T21:56:02.138Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://railsmachine.github.com/moonshine/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/railsmachine.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-03-13T16:50:16.000Z","updated_at":"2025-02-23T12:24:43.000Z","dependencies_parsed_at":"2022-08-16T10:30:12.500Z","dependency_job_id":null,"html_url":"https://github.com/railsmachine/moonshine","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsmachine%2Fmoonshine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsmachine%2Fmoonshine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsmachine%2Fmoonshine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsmachine%2Fmoonshine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/railsmachine","download_url":"https://codeload.github.com/railsmachine/moonshine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245414096,"owners_count":20611357,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T13:00:50.278Z","updated_at":"2025-03-25T06:31:46.496Z","avatar_url":"https://github.com/railsmachine.png","language":"Ruby","readme":"# Moonshine\n\nMoonshine is Rails deployment and configuration management done right.\n\nBy 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.\n\nTo get started, check out our [tutorial](https://github.com/railsmachine/moonshine/wiki/Tutorial). It covers configuring and deploying your application for the first time with Moonshine.\n\nOnce you're a bit more comfortable with Moonshine, you'll find our documentation on [the wiki](https://github.com/railsmachine/moonshine/wiki) to be helpful!\n\n## Requirements\n\n* A server running Ubuntu 12.04 or 14.04 LTS (Want to see your favorite platform supported?  Fork Moonshine on GitHub!)\n* A Rails 2.3 or Rails 3 app. Rails 4 is supported with the [plugger](http://github.com/railsmachine/plugger) gem.\n* A user on this server that can:\n  * Execute commands via sudo\n  * Access your application's source code repository\n\n## Installation\n\nIt's also pretty simple!\n\n### Rails 2\n\n    $ script/plugin install git://github.com/railsmachine/moonshine.git\n    $ script/generate moonshine\n  \n### Rails 3\n\n    $ script/rails plugin install git://github.com/railsmachine/moonshine.git\n    $ script/rails generate moonshine\n  \n### Rails 4\n\nAdd \u003ccode\u003egem 'plugger'\u003c/code\u003e to your Gemfile and bundle install, then:\n\n    $ plugger install git://github.com/railsmachine/moonshine.git\n    $ script/rails generate moonshine\n\nIf you get errors about not being able to find shadow_puppet during deploys, you'll also need to add the following to your Gemfile:\n\n    gem 'shadow_puppet', :require =\u003e false\n\n## Running Tests\n\nIt's easy enough:\n\n    $ gem install shadow_puppet isolate-scenarios\n    $ rake spec\n\n[isolate-scenarios](http://github.com/technicalpickles/isolate-scenarios) is used to test against multiple versions of Rails. To run all scenarios at once:\n\n    $ isolate-scenarios rake spec\n\n## Getting Help\n\nYou can find more examples in the [documentation](http://railsmachine.github.com/moonshine) and on the [Wiki](https://github.com/railsmachine/moonshine/wiki).\n\nFor help or general discussion, visit the [Moonshine newsgroup](http://groups.google.com/group/railsmachine-moonshine).\n\n## Passenger Enterprise Support\n\nWe've added support for Passenger Enterprise Edition!  In order to install it, you need to make a few changes to moonshine.yml.  Phusion now provides a gem server for Passenger Enterprise. You will need to put your license file in app/manifests/templates and call it \u003ccode\u003epassenger-enterprise-license\u003c/code\u003e so we can put it in the right place during install.\n\nThis is what a passenger enterprise block in moonshine.yml should look like (in addition to your usual Passenger settings):\n\n```yaml\n:passenger:\n  :version: 4.0.10\n  :enterprise: true\n  :download_token: YOUR-PASSENGER-ENTERPRISE-DOWNLOAD-TOKEN\n  :rolling_restarts: true\n```\n\n## Brightbox Ruby\n\nCompiling ruby from source is time and CPU consuming.  In an attempt to speed up ruby upgrades and make it easier to roll back to the previous version, we've added support for [Brightbox's Ruby packages](http://brightbox.com/docs/ruby/ubuntu/). Setting it up is easy, just set the ruby line in config/moonshine.yml to \u003ccode\u003ebrightbox193\u003c/code\u003e or \u003ccode\u003ebrightbox21\u003c/code\u003e.\n\n### Limitations\n\n* **Ubuntu 10.04**: Brightbox doesn't provide packages for Ruby 2.1.x.  If you want it, you'll need to upgrade to at least 12.04.\n  \n## A Word on Rails 4\n\nWe've been torturing ourselves trying to turn Moonshine into a gem ever since it was announced that Rails 4 was dropping support for plugins.  Moonshine is... different... and we think it actually makes sense as a plugin.  So, instead of turning Moonshine, and the dozens of Moonshine plugins we've written, into a gem, we decided to add plugin support back to Rails 4!  That's where [plugger](http://github.com/railsmachine/plugger) comes in. Just add it to your Gemfile and \u003ccode\u003ebundle install\u003c/code\u003e and voila, plugins are *back*!\n\n### Keeping Your App From Loading Manifests\n\nBy default, everything within the app directory is eager-loaded by the app at startup in production mode (and staging).  That's not good.  So, to keep that from happening, add this to config/application.rb inside the Application class:\n\n```ruby\npath_rejector = lambda { |s| s.include?(\"app/manifests\") }\nconfig.eager_load_paths = config.eager_load_paths.reject(\u0026path_rejector)\nActiveSupport::Dependencies.autoload_paths.reject!(\u0026path_rejector)\n```\n\nThat'll keep the manifests from loading when the app starts up!\n\n### Getting rid of that annoying message when you run rails console\n\nWith Rails 4, it doesn't want you to use the \u003ccode\u003e--binstubs\u003c/code\u003e argument for bundler, so it's now optional.  If you're using Moonshine and Rails 4, add this to config/moonshine.yml, and you'll be all set:\n\n```yaml\n:bundler:\n  :disable_binstubs: true\n```\n  \nAfter your next deploy, you should be able to run rails console without that annoying error message.\n\nAll content copyright \u0026copy; 2014, [Rails Machine LLC](http://railsmachine.com)\n","funding_links":[],"categories":["Provision, Deploy \u0026 Host","Ruby"],"sub_categories":["Deployment Automation"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frailsmachine%2Fmoonshine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frailsmachine%2Fmoonshine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frailsmachine%2Fmoonshine/lists"}