Puppet module to install and manage a Bitcoin node
Clone or download
Latest commit 7f713ef Dec 7, 2017
Failed to load latest commit information.
.github Modulesync Aug 21, 2017
manifests Fixing lint Aug 21, 2017
spec Modulesync Aug 21, 2017
templates Fix undef handling in bitcoin.conf.erb Mar 5, 2017
.fixtures.yaml Fixing lint Aug 21, 2017
.gemfile Fixing xmlrpc gem for ruby 2.4 Mar 10, 2017
.gemfile.lock Fixing xmlrpc gem for ruby 2.4 Mar 10, 2017
.gitignore Modulesync Dec 7, 2017
.overcommit.yml Modulesync Aug 21, 2017
.pmtignore Modulesync Aug 21, 2017
.rspec Modulesync Aug 21, 2017
.rspec_parallel Modulesync Aug 21, 2017
.rubocop.yml Modulesync Dec 7, 2017
.travis.yml Modulesync Aug 21, 2017
.yardopts Modulesync Aug 21, 2017
CHANGELOG.md Release: 3.1.0 Sep 1, 2017
Gemfile Modulesync Aug 21, 2017
LICENSE Initial commit Dec 29, 2014
README.md Readme Jul 23, 2017
Rakefile modulesync Aug 21, 2017
metadata.json Release: 3.1.0 Sep 1, 2017



Build Status Puppet Forge

Table of Contents

  1. Overview - What is the puppet-bitcoind module?
  2. Module Description - What does the module do?
  3. Setup - The basics of getting started with puppet-bitcoind
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module


This Puppet module installs and configures the bitcoind daemon, and can optionally install the bitcoin-qt GUI - though this will disable the service/daemon.

Puppet 3 Support

Please note that the master branch of this module does not support Puppet 3!

On 31st December 2016, support for Puppet 3.x was withdrawn. As such, this module no longer supports Puppet 3, and is actively being migrated to Puppet 4 syntax.

If you require Puppet 3 compatibility, please use version 2.0.2 from the Puppet Forge, or the puppet3 branch in Git.

Using Alternative Repositories

This module can handle the installation of the Bitcoin daemon from any Ubuntu PPA repository. To use a third-party repository (e.g. Bitcoin Classic or UASF), simply set the ppa_name and package_name parameters - the default is to install Bitcoin Core from the official PPA.

Module Description

  • Adds the requested PPA (see above) and installs bitcoind
  • Creates a (configurable) system user and group
  • Places an Upstart init script (Systemd in Ubuntu 16.04 and later)
  • Configures the bitcoin.conf configuration file
  • Enables and starts the bitcoind daemon/service


Beginning with puppet-bitcoind

To accept default class parameters (correct in most situations):

include bitcoind


To use the an alternative Ubuntu PPA repository, specify an RPC user/password and disable wallet functionality:

class { 'bitcoind':
  disablewallet => true,
  rpcallowip    => ['123.456.789.100'],
  rpcuser       => 'oliver'
  rpcpassword   => 'youvegottopickapocketortwo',
  ppa_name      => 'luke-jr/bitcoin-core-bip148-unofficial-builds',
  package_name  => 'bitcoin',


bitcoin.conf Configuration Parameters



  • Creates the system user which runs the bitcoind service, and also a group for the user to belong to.


  • Places the bitcoin.conf configuration file and init script


  • Optionally adds the requested PPA to the system
  • Installs the bitcoind package
  • Optionally installs the bitcoin-qt package


  • Disables server if install_gui passed to the module



Supported Operating Systems

  • Ubuntu - 16.06 (Xenial), 14.04 (Trusty) and 12.04 LTS (Precise)


Donations are welcomed via Bitcoin to 1JJ5STJpzyDbvNiStqsfycCuoNFPgWd2Ho


  • Copyright (C) Craig Watson - craig@cwatson.org
  • Distributed under the terms of the Apache License v2.0 - see LICENSE file for details.
  • Further contributions and testing reports are extremely welcome - please submit a pull request or issue on GitHub