Forge Home


Setup of a rails environment for capistrano deployment, using initforthe-capistrano.


1,918 latest version

5.0 quality score

Version information

  • 0.4.9 (latest)
  • 0.4.8
  • 0.4.7
  • 0.4.6
  • 0.4.4
  • 0.4.3
  • 0.4.2
  • 0.4.0
  • 0.3.0
  • 0.2.3
  • 0.2.2
  • 0.2.0
  • 0.1.4
  • 0.1.3
  • 0.1.2
  • 0.1.1
released Feb 28th 2020
This version is compatible with:
  • Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2016.4.x
  • Puppet >= 4.10.0 < 7.0.0
  • ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'initforthe-rails', '0.4.9'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add initforthe-rails
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install initforthe-rails --version 0.4.9

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



initforthe/rails — version 0.4.9 Feb 28th 2020


Table of Contents

  1. Description
  2. Setup - The basics of getting started with rails
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module


This module sets up a rails app ready for deployment via capistrano.

It assumes environment variables are loaded via dotenv-rails or similar.


Beginning with rails

The most simple usage is as follows:

include rails

rails::app { 'my_app': }

This will create a capistrano deployment in /var/www/my_app and put environment variables in /etc/defaults/my_app.


Configure all rails deployments

class { 'rails':
  user        => 'deploy',
  deploy_root => '/srv/apps',

Set up a rails app

rails::app { 'my_app':
  env => {
    'RAILS_ENV'       => 'staging',
    'SECRET_KEY_BASE' => '1234567890',



Defined Types:



Sets up the root for all rails app deployments. Set the following parameters if you want something other than the default settings:


Which user you want to own the deployments. The user must exist already. Default: root


The root for your deployments. Default: /var/www

Defined Types


Sets up a deployment for a single app. Set the following parameters if you want something other than the default settings:


The environment the application should run under. Default: production


A hash of options to be passed to the database.yml config file.


A hash of environment variables to set for the app. Default: {}


This module has only been tested on Debian-based OSes. YMMV with others.


Please follow the guidance for contributing on the Puppet Forge

Getting things going

$ bundle install
$ gem install pdk


$ pdk test unit

Publishing (from master only)

Make sure everything is committed and pushed to master first. Direct changes to master should not be made.

For a minor version bump:

$ bundle exec rake module:release

For anything else:

$ bundle exec rake module:clean module:bump_commit:TYPE module:tag
$ git push && git push --tags

Details of type can be found by running rake -T