Forge Home


Module to manage sinopia installations


32,769 latest version

2.0 quality score

Version information

  • 1.0.1 (latest)
  • 1.0.0
released Jan 24th 2014

Start using this module

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

Add this module to your Puppetfile:

mod 'saheba-sinopia', '1.0.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add saheba-sinopia
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install saheba-sinopia --version 1.0.1

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.



saheba/sinopia — version 1.0.1 Jan 24th 2014

puppet-sinopia module


Install sinopia npm-cache-server ( for Debian, Ubuntu, Fedora, and RedHat.


This module depends on the changes of a not yet merged pull request in puppetlabs/nodejs: Until they are merged you have to explicitely specify the dependency to nodejs in your librarian-puppet Puppetfile:

  # dependency puppetlabs/nodejs
  # replace it with:
  mod "puppetlabs/nodejs",
  :git => "",
  :ref => 'npm_local_exec_user_param'  


class sinopia

Installs sinopia + required npms in one defined directory and integrates the sinopia as a service (/etc/init.d/sinopia). It also creates a user to run the sinopia server (default: sinopia). If you wish, you can change the username, see examples below.



  class { '::sinopia':
    conf_admin_pw_hash => 'your-pw-hash',

You can generate the admin password hash according to via command-line:

  $ node
  > crypto.createHash('sha1').update('your-admin-password').digest('hex')

You can also override several configuration parameters.

  class { '::sinopia':
    install_root        => '/usr/local',
    install_dir         => 'sinopiaxy',
    conf_admin_pw_hash  => 'your-pw-hash',
    conf_port           => '8080',
    deamon_user         => 'sinopiaxy',
    conf_listen_to_address  => '',
    conf_max_body_size  => '10mb',
    conf_max_age_in_sec => '604800',
    install_as_service  => false,

The default values for all so far configurable parameters are:

  class { '::sinopia':
    install_root        => '/opt',
    install_dir         => 'sinopia',
    deamon_user            => 'sinopia',
    conf_listen_to_address     => '',
    conf_port              => '4783',
    conf_user_pw_combinations => undef,
    conf_max_body_size     => '1mb',
    conf_max_age_in_sec    => '86400',
    install_as_service     => true,

Supported Platforms

The module has been tested on the following operating systems. Testing and patches for other platforms are welcomed.

  • RedHat EL6.