Running a Bitcoin Node with Puppet

In my previous blog, I gave my views on Bitcoin as a concept and also my take on Bitcoin’s future. Since writing that post, I’ve been researching into the technical background of Bitcoin, and have decided to set up my own Bitcoin node to help further the cause.

I already have a VPS which runs Ubuntu 14.04 LTS, and as my VPS is managed using Puppet, it seemed like a pretty simple task.

What is Puppet?

Puppet is a configuration and system management tool that can quickly and easily apply and enforce the correct state across almost any system. If you want to know more, I urge you to check out the PuppetLabs documentation.

How to use my Puppet module

To install the module into your Puppet code:

puppet module install CraigWatson1987-bitcoind

Then, to use the module, simply add this single line of code to your Puppet manifest:

include bitcoind

You can also configure the Bitcoin daemon with a huge number of options, for example to specify an RPC user/password, disable the wallet functionality, set an allowed RPC IP address and SSL key/certificate:

class { 'bitcoind':
  disablewallet              => true,
  rpcallowip                 => ['123.456.789.100'],
  rpcuser                    => 'oliver'
  rpcpassword                => 'youvegottopickapocketortwoboys',
  rpcssl                     => true,
  rpcsslcertificatechainfile => '/path/to/certificate.pem',
  rpcsslprivatekeyfile       => '/path/to/private.key',

Where to find my module

You can find the code for my module on GitHub, and as the code is licensed under the Apache Licence, it is totally free for anyone to download, use, contribute to and distribute. The module is also available on the Puppet Forge.

The module only runs on Ubuntu at the moment, however I would greatly welcome any contributions and pull requests!

Share This Post!

If you like this post, please share it using the buttons below: