Public | Automated Build

Last pushed: 3 months ago
Short Description
A "get started quickly" puppet server
Full Description


A simple puppetserver to get started

This is mostly taken from puppet/puppetserver-standalone.
I changed the base image from Ubuntu to Phusion and enabled ssh access.
I wanted to be able to connect to the puppetmaster and run
'''puppet module install''' commands.


Make the persistent directories

mkdir -p /srv/puppet/code
mkdir /srv/puppet/puppet
mkdir /srv/puppet/server

Here is a sample command using all the options.

docker run -d --restart=always -p 8140:8140 \
-v /srv/puppet/code:/etc/puppetlabs/code \
-v /srv/puppet/puppet:/etc/puppetlabs/puppet \
-v /srv/puppet/server:/opt/puppetlabs/server/data/puppetserver \
-v /home/cosmicq/.ssh:/root/.ssh \
--name puppet \
--hostname \


Make sure you have run ssh-keygen and have an authorized_keys files in your home directory
(accept the defaults)

cd ~/.ssh
cat > authorized_keys

Ssh in and manage your server

ssh root@

Puppet subdirectories

You might find it best to mount an NFS volume (or other shared storage) under /srv/puppet. This allows you to move your puppet container to other servers and persist data.


Puppet is expecting to find the modules in:


Config files, hiera.yaml, and SSL certs. You probably want to back this up.


Peristant server data. This is mounted so your puppet server can be rebooted and pick up where it left off.

Docker Pull Command
Source Repository