Fork me on GitHub

railsbox

Automate your Ruby on Rails server configuration with ansible

railsbox helps you to start applying best DevOps practices in your project by generating ansible playbooks for configuring and deploying Ruby on Rails applications. You no longer need to edit a single configuration file on your server and use tools like capistrano for code deployments - all this comes out of the box.

Drag and Drop your Gemfile here or fill the form below manually

1

System

2

Application

Only alphanumeric characters, dashes and underscores are allowed.

Where application source code will be stored.

Application configuration will be read from {{ configuration.environment_file }} (if it exists).

If you would like to add staging or production environments, railsbox needs to know where your application is hosted. Make sure you specify SSH URL here so that it's possible to use SSH agent forwarding.

Branch which will be used for staging/production deployments.


ruby will be installed as system package using brightbox/ruby-ng apt repository.

ruby will be installed with ruby-build and version will be managed with rbenv.

ruby will be installed with RVM.

Specify custom ruby version

3

Environments

{{ environment }}


Guest portHost port
{{ port.guest }}{{ port.host }}

SSH connection will be used to provision and deploy. Your default private key will be used to authenticate.

4

Server

It's recommended to keep localhost value here.

Your application will be served by nginx and unicorn. You can control it by running standard upstart commands: sudo stop {{ configuration.vm_name }} and sudo start {{ configuration.vm_name }}.Your application will be served by nginx and puma. You can control it by running standard upstart commands: sudo stop {{ configuration.vm_name }} and sudo start {{ configuration.vm_name }}.Your application will be served by nginx and Passenger. You can restart Passenger by running touch tmp/restart.txt in your application dir or by restarting nginx with service nginx restart.

5

Databases

PostgreSQL

{{sqlConfigPath}} will be automatically created based on the above params. Your old {{sqlConfigPath}} (if any) will be backed up.

MySQL

{{sqlConfigPath}} will be automatically created based on the above params. Your old {{sqlConfigPath}} (if any) will be backed up.

MongoDB

{{ mongodbConfigPath }} will be automatically created based on the above params. Your old configuration will be backed up.

No configuration files will be created.

Redis

config/initializers/redis.rb will be automatically created. Your old configuration (if any) will be backed up.

No configuration files will be created.

6

Background jobs

delayed_job

System service {{ configuration.delayed_job_app_name }} will be created. You can control it by running the following commands: sudo stop {{ configuration.delayed_job_app_name }}, sudo start {{ configuration.delayed_job_app_name }}, sudo restart {{ configuration.delayed_job_app_name }}.

sidekiq

System service {{ configuration.sidekiq_app_name }} will be created. You can control it by running the following commands: sudo stop {{ configuration.sidekiq_app_name }}, sudo start {{ configuration.sidekiq_app_name }}, sudo restart {{ configuration.sidekiq_app_name }}.

resque

System service {{ configuration.resque_app_name }} will be created. You can control it by running the following commands: sudo stop {{ configuration.resque_app_name }}, sudo start {{ configuration.resque_app_name }}, sudo restart {{ configuration.resque_app_name }}.