Quickstart Guide

The Foreman installer is a collection of Puppet modules that installs everything required for a full working Foreman setup. It uses native OS packaging (e.g. RPM and .deb packages) and adds necessary configuration for the complete installation.

Components include the Foreman web UI, Smart Proxy, a Puppet server, and optionally TFTP, DNS and DHCP servers. It is configurable and the Puppet modules can be read or run in “no-op” mode to see what changes it will make.

The installation will require 4GB of memory, see System Requirements for more information.

Supported platforms

  • Enterprise Linux 8, x86_64
  • Enterprise Linux 9, x86_64
  • Debian 11 (Bullseye), amd64
  • Ubuntu 20.04 (Focal), amd64
  • Ubuntu 22.04 (Jammy), amd64

Enterprise Linux

The Foreman packages and installer are tested on AlmaLinux 8, AlmaLinux 9, CentOS Stream 8 and CentOS Stream 9, but other RHEL derivatives can work because they’re similar. Sometimes additional work may be needed. For any queries for these platforms raise a question in discourse support section

Installation

The Foreman installer uses Puppet (6 or later required) to install Foreman. This guide assumes that you have a newly installed operating system, on which the installer will setup Foreman, a Puppet server, and the Smart Proxy by default. It’s not advisable to follow the steps below on an existing system, since the installer will affect the configuration of several components.

If you want to manage content (for example, RPMs, Kickstart trees, ISO and KVM images, OSTree content, and more) with Foreman please follow the Katello installation instructions. If you are a new user, ensure that you familiarize yourself with Katello and decide whether you want to use its features because installing Katello on top of an existing Foreman is unsupported. Note that you cannot install Katello on Debian systems.

Select operating system

To provide specific installation instructions, please select your operating system:

Repositories

No operating system selected.

Enable Puppet's 7.x repository:

sudo dnf -y install https://yum.puppet.com/puppet7-release-el-8.noarch.rpm

Enable Puppet's 7.x repository:

sudo dnf -y install https://yum.puppet.com/puppet7-release-el-9.noarch.rpm

Enable the Foreman repositories:

sudo dnf -y install https://yum.theforeman.org/releases/3.12/el8/x86_64/foreman-release.rpm

Enable the Foreman repositories:

sudo dnf -y install https://yum.theforeman.org/releases/3.12/el9/x86_64/foreman-release.rpm

Enable the Foreman module:

sudo dnf -y module enable foreman:el8

Enable Puppet's 7.x repository:

sudo apt-get -y install ca-certificates
cd /tmp && wget https://apt.puppet.com/puppet7-release-bullseye.deb
sudo apt-get install /tmp/puppet7-release-bullseye.deb

Enable the Foreman repositories:

sudo wget https://deb.theforeman.org/foreman.asc -O /etc/apt/trusted.gpg.d/foreman.asc
echo "deb http://deb.theforeman.org/ bullseye 3.12" | sudo tee /etc/apt/sources.list.d/foreman.list
echo "deb http://deb.theforeman.org/ plugins 3.12" | sudo tee -a /etc/apt/sources.list.d/foreman.list

Enable Puppet's 7.x repository:

sudo apt-get -y install ca-certificates
cd /tmp && wget https://apt.puppet.com/puppet7-release-focal.deb
sudo apt-get install /tmp/puppet7-release-focal.deb

Enable the Foreman repositories:

sudo wget https://deb.theforeman.org/foreman.asc -O /etc/apt/trusted.gpg.d/foreman.asc
echo "deb http://deb.theforeman.org/ focal 3.12" | sudo tee /etc/apt/sources.list.d/foreman.list
echo "deb http://deb.theforeman.org/ plugins 3.12" | sudo tee -a /etc/apt/sources.list.d/foreman.list

Enable Puppet's 7.x repository:

sudo apt-get -y install ca-certificates
cd /tmp && wget https://apt.puppet.com/puppet7-release-jammy.deb
sudo apt-get install /tmp/puppet7-release-jammy.deb

Enable the Foreman repositories:

sudo wget https://deb.theforeman.org/foreman.asc -O /etc/apt/trusted.gpg.d/foreman.asc
echo "deb http://deb.theforeman.org/ jammy 3.12" | sudo tee /etc/apt/sources.list.d/foreman.list
echo "deb http://deb.theforeman.org/ plugins 3.12" | sudo tee -a /etc/apt/sources.list.d/foreman.list

Downloading the installer

No operating system selected.
sudo dnf -y install foreman-installer
sudo apt-get update && sudo apt-get -y install foreman-installer

Running the installer

Ensure that ping $(hostname -f) shows the real IP address, not 127.0.1.1. Change or remove this entry from /etc/hosts if present.

The installation run is non-interactive, but the configuration can be customized by supplying any of the options listed in foreman-installer --help, or by running foreman-installer -i for interactive mode. More examples are given in the Installation Options section. Adding -v will disable the progress bar and display all changes. To run the installer, execute:

sudo foreman-installer

After it completes, the installer will print some details about where to find Foreman and the Smart Proxy. Output should be similar to this:

  * Foreman is running at https://theforeman.example.com
      Initial credentials are admin / 3ekw5xtyXCoXxS29
  * Foreman Proxy is running at https://theforeman.example.com:8443
  The full log is at /var/log/foreman-installer/foreman-installer.log

Next-generation documentation

Over the last year, Foreman community members have been open-sourcing Red Hat documentation to make more comprehensive guides available to Foreman users. At the moment, the following guides have been migrated to a work-in-progress Foreman and Katello documentation site. This project is not yet complete, but you might find useful information in some of the following guides:

More quickstart resources…

Continue reading the quickstart guide in the manual:

Or view the quickstart screencasts:

Additional reading…

Foreman 3.12.0 has been released! Follow the quick start to install it.

Foreman 3.11.2 has been released! Follow the quick start to install it.