Installing Puppet Server

We've updated our documentation to remove harmful terminology.

Puppet Server is a required application that runs on the Java Virtual Machine (JVM). It controls the configuration information for one or more managed agent nodes.

Note: If you have any issues with the steps below, submit these to our bug tracker.

Before you begin

Review the supported operating systems and make sure you have a supported version of Java.

Supported operating systems

Puppet provides official packages that install Puppet Server and all of its prerequisites on x86_64 architectures for the following platforms:

  • Red Hat Enterprise Linux 6, 7, 8

  • Debian 8 (Jessie), 9 (Stretch), 10 (Buster)

  • Ubuntu 16.04 (Xenial), 18.04 (Bionic)

  • SLES 12 SP1

Note: Unlike Puppet agent, Puppet Server is not supported on MacOS.

Java support

Puppet Server versions are tested against the following versions of Java:

Puppet ServerJava
2.x7, 8
6.0-6.58, 11 (experimental)
6.6 and later8, 11

Some Java versions may work with other Puppet Server versions, but we do not test or support those cases. Community submitted patches for support greater than Java 11 are welcome. Both Java 8 and 11 are considered long-term support versions and are planned to be supported by upstream maintainers until 2022 or later.

Note: Java 8 runtime packages do not exist in the standard repositories for Debian 8 (Jessie) or Ubuntu 18.04 (Bionic). To install Puppet Server on Jessie, configure the jessie-backports repository. To install Puppet Server on Bionic, enable the universe repository.

Install Puppet Server

Puppet Server is configured to use 2 GB of RAM by default. If you're just testing an installation on a Virtual Machine, this much memory is not necessary. To change the memory allocation, see Running Puppet Server on a VM.

  1. Enable the Puppet package repositories, if you haven't already done so.

  2. Install the Puppet Server package by running one of the following commands.

Red Hat operating systems:

yum install puppetserver

Debian and Ubuntu:

apt-get install puppetserver

There is no - in the package name.

Note: If you're upgrading, stop any existing puppetserver service by running service <service_name> stop or systemctl stop <service_name>.

  1. Start the Puppet Server service:

sudo systemctl start puppetserver
  1. To check you have installed the Puppet Server package correctnly, run the following command to check the version:

puppetserver -v

What to do next

Now that Puppet Server is installed, move on to these next steps:

  1. Install a Puppet agent

  2. Install PuppetDB (optional) ⁠— if you would like to to enable extra features, including enhanced queries and reports about your infrastructure.

Running Puppet Server on a VM

By default, Puppet Server is configured to use 2GB of RAM. However, if you want to experiment with Puppet Server on a VM, you can safely allocate as little as 512MB of memory. To change the Puppet Server memory allocation, you can edit the init config file.

  • For RHEL or CentOS, open /etc/sysconfig/puppetserver

  • For Debian or Ubuntu, open /etc/default/puppetserver

  1. In your settings, update the line:

     # Modify this if you'd like to change the memory allocation, enable JMX, etc
     JAVA_ARGS="-Xms2g -Xmx2g"

    Replace 2g with the amount of memory you want to allocate to Puppet Server. For example, to allocate 1GB of memory, use JAVA_ARGS="-Xms1g -Xmx1g"; for 512MB, use JAVA_ARGS="-Xms512m -Xmx512m".

    For more information about the recommended settings for the JVM, see Oracle's docs on JVM tuning.

  2. Restart the puppetserver service after making any changes to this file.

How helpful was this page?

If you leave us your email, we may contact you regarding your feedback. For more information on how Puppet uses your personal information, see our privacy policy.

Puppet sites use proprietary and third-party cookies. By using our sites, you agree to our cookie policy.