Forge Home


9,908 latest version

2.0 quality score

Version information

  • 0.1.6 (latest)
  • 0.1.5
  • 0.1.4
  • 0.1.3
  • 0.1.1
  • 0.1.0
released Sep 18th 2013

Start using this module

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

Add this module to your Puppetfile:

mod 'ctrlcroot-nginx', '0.1.6'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add ctrlcroot-nginx
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install ctrlcroot-nginx --version 0.1.6

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.

Tags: web, nginx


ctrlcroot/nginx — version 0.1.6 Sep 18th 2013


Puppet module for the NGINX web server. This module provides a higher level of abstraction than the module published by puppetlabs.


  • puppetlabs/stdlib (4.1.0+)
  • ripienaar/concat (0.2.0+)

Quick Start

You can install nginx and configure it with a default HTTP and HTTPS site by simply declaring the base class:

class {'nginx': }

You can also disable the default sites and provide your own:

class {'nginx':
    defaults => false

nginx::site {'default':
    names => ['', ''],
    root  => '/var/www'

nginx::site {'default-ssl':
    port  => '443',
    ssl   => true,
    names => ['', ''],
    root  => '/var/www'

You can define redirects and reverse proxies:

nginx::site::redirect {'redmine_https':
    site   => 'default',
    url    => '/redmine',
    target => ''

nginx::site::proxy {'dev_site':
    site     => 'default-ssl',
    url      => '/testing',
    upstream => ['', '']

You can set up reverse proxies that support websocket connections. Please note that this requires NGINX version 1.4+ in order to work. The module currently does not check the server version.

nginx::site::proxy {'socketio':
    site       => 'default',
    url        => '/',
    upstream   => ['', ''],
    websockets => true


This module currently supports debian and rhel platforms. It has been used in a production environment on the following operating systems:

  • Ubuntu 13.10
  • CentOS 6.4