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 Memory Allocation.
If you’re also using PuppetDB, check its requirements.
Puppet Server versions are tested against the following versions of Java:
|6.0-6.5||8, 11 (experimental)|
|6.6 and later||8, 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.
Platforms with Packages
Puppet provides official packages that install Puppet Server 6.0 and all of its prerequisites on x86_64 architectures for the following platforms, as part of Puppet Platform.
Red Hat Enterprise Linux
- Enterprise Linux 6
- Enterprise Linux 7
- CentOS 6
- CentOS 7
- Debian 8 (Jessie)
- Debian 9 (Stretch)
Java 8 runtime packages do not exist in the standard repositories for Debian 8 (Jessie). To install Puppet Server on Jessie, configure the
jessie-backports repository, which includes openjdk-8:
echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list apt-get update apt-get -t jessie-backports install "openjdk-8-jdk-headless" apt-get install puppetserver
If you upgraded on Debian from older versions of Puppet Server, or from Java 7 to Java 8, you must also configure your server to use Java 8 by default for Puppet Server 5.x:
update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
- Ubuntu 18.04 (Bionic)
- Ubuntu 16.04 (Xenial)
On Ubuntu 18.04, enable the universe repository, which contains packages necessary for Puppet Server.
SUSE Linux Enterprise Server
- SLES 12 SP1
- Enable the Puppet package repositories, if you haven’t already done so.
Stop any existing
service <service_name> stop
systemctl stop <service_name>
Install the Puppet Server package by running:
yum install puppetserver
apt-get install puppetserver
Note that there is no
-in the package name.
Generate a root and intermediate signing CA for Puppet Server
puppetserver ca setup
(This step is not needed if upgrading.)
Start the Puppet Server service:
systemctl start puppetserver
service puppetserver start
Platforms without Packages
For platforms and architectures where no official packages are available, you can build Puppet Server from source. Such platforms are not tested, and running Puppet Server from source is not recommended for production use.
For details, see Running from Source.
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
- For Debian or Ubuntu, open
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
For more information about the recommended settings for the JVM, see Oracle’s docs on JVM tuning.
puppetserverservice after making any changes to this file.
Submit issues to our bug tracker.