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 puppetmaster.cosmicegg.net \ cosmicq/docker-puppetserver
Make sure you have run ssh-keygen and have an authorized_keys files in your home directory
(accept the defaults)
cd ~/.ssh cat id_dsa.pub > authorized_keys
Ssh in and manage your server
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.