From https://theforeman.org/manuals/3.5/quickstart_guide.html

Install Ubuntu and patch and ugprade

sudo apt-get install aptitude
sudo aptitude update
sudo aptitude upgrade

Update hostanmes

sudo hostnamectl set-hostname pm.lab.bpopp.net

In /etc/hosts, replace 127.0.1.1 line with:

192.168.2.23  pm.lab.bpopp.net

Test with Ping

ping $(hostname -f)

Update puppet

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

Add foreman repos

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

Update & download installer

sudo apt-get update && sudo apt-get -y install foreman-installer

Foreman Options

#!/bin/bash

foreman-installer \
 --enable-foreman-proxy \
 --foreman-proxy-tftp=true \
 --foreman-proxy-tftp-servername=192.168.2.6 \
 --enable-foreman-compute-vmware \
 --foreman-proxy-dns=true \
 --foreman-proxy-dns-zone=lab.bpopp.net \
 --foreman-proxy-dns-provider=nsupdate \
 --foreman-proxy-dns-server=192.168.2.1 \
 --foreman-proxy-dhcp=true  \
 --foreman-proxy-dhcp-managed=true \
 --foreman-proxy-dhcp-gateway="192.168.2.1" \
 --foreman-proxy-dhcp-nameservers="192.168.2.1" \
 --foreman-proxy-dhcp-range="192.168.2.175 192.168.2.220"

Make executable

sudo chmod 775 foreman-install.sh

Run

sudo ./foreman-install.sh