Installation instructions » History » Version 38

« Previous - Version 38/77 (diff) - Next » - Current version
Paul Kelly, 12/03/2010 06:55 AM

Requirements for the foreman core component

before you start, make sure you have:

  • Puppet >= 0.24-4
  • rake >= 0.84
  • rubygems
  • ruby-sqlite3 (libsqlite3-ruby) if you are going to use sqlite as your database
  • git (if installing from source )

The installation has been successfully tested on RHEL[5,6], Fedora[13,14], Debian Linux 5.0 (Lenny) and Ubuntu Linux 9.04, 10.04, and 10.10. For older operating systems you might need additional packages (e.g. sqlite)
It is also known to work on Solaris and Mac.


Puppet Module ready to use

You may try out the puppet Foreman module, this should take care for most of the basic setup.

The module could be downloaded via:

you may use puppet (if you don't want to add it as a module to your puppetmaster) in the following way:

if you are using RHEL, EPEL repo must be enabled

If you are using puppet store configs please set $using_store_configs to true in foreman/manifests/init.pp.
If you want this module to configure passenger as well, set $using_passenger to true in foreman/manifests/init.pp


echo include foreman | puppet  --verbose --modulepath /path_to/extracted_tarball

Its recommend to review the module prior usage.

Debian / Ubuntu Packages

Add one of the following lines to your /etc/apt/sources.list:

# For stable packages
deb stable main

# For testing packages
deb testing main

The public key for secure APT can be downloaded here

You can add this key with

sudo apt-key add foreman.asc

or combine downloading and registering:

wget -q -O- | sudo apt-key add -

The key fingerprint is

1DCB 15D1 2CA1 40EE F494  7E57 66CF 053F E775 FF07
Foreman Archive Signing Key <>

To install Foreman, run

sudo apt-get update

# Depending on the database you want to use with Foreman,
# install one of these:
sudo apt-get install foreman-mysql
sudo apt-get install foreman-pgsql
sudo apt-get install foreman-sqlite3

Debian Linux 5.0 (Lenny)

Users of Debian Lenny will have to use rake from lenny-backports.

See for instructions on how to add lenny-backports to your list of repositories and install a package from it.


We maintain a repository for RHEL and Fedora (and clones) - you may add it via:


yumrepo { 'foreman':
    descr => 'Foreman Repo',
    baseurl => '',
    gpgcheck => '0',
    enabled => '1'

Quick and dirty

cat > /etc/yum.repos.d/foreman.repo << EOF
name=Foreman Repo
yum install foreman

if you just want to get the rpms:

Latest stable release

Latest stable version can be found under the files section

Latest source code

You can get the latest source code of Foreman from the git repository hosted at github.
This is the preferred way to get Foreman if you want to benefit from the latest improvements. By using the git repository you can also upgrade more easily.

to get latest "stable" version do:

git clone git:// foreman
cd foreman
git submodule init
git submodule update
  • if you are behind a proxy or firewall and dont have access to github using the git protocol, use http protocol instead (e.g.)
    git clone foreman
    cd foreman
    sed -i 's/git:\/\//http:\/\//g' .gitmodules
    git submodule init
    git submodule update

Daily snapshot

You can also fetch the latest daily snapshot of the development version at:

Initial setup


Foreman uses a database, this database can be shared with Puppet store-configs (they are compatible, as Foreman extends the puppet database schema).
By default, SQLite is used, if you want to use other database (e.g. MySQL) please modify the configuration file under config/database.yml.

If you want to share the database with Puppets (storeconfig), just modify config/database.yml to point to the same database configuration as puppet is.

In both cases, please use the production settings.

to initialize the database schema type:

RAILS_ENV=production rake db:migrate

Import Data from Puppet

At this point, you might want to go through the FAQ to see how can you import your data into Foreman.

Start The Web Server

if you installed via rpm, just start the foreman service, or start the built in web server by typing:
./script/server -e production

and point your browser to http://foreman:3000

If you would like to keep the server running, its recommend to setup passenger or use the RPM.
example usage with passenger can be found here:

Smart proxy installation

If you are using Foreman for unattended installations then you can enable management of the Puppet CA, autosign and reports plus DHCP, DNS and TFTP boot files via the use of a smart proxy.
(This feature is currently under development and will be available soon.)

A smart proxy is an autonomous web-based foreman component that is placed on a host performing a specific function in the host commissioning phase.
It receives requests from Foreman to perform operations that are required during the commissioning process and executes them on its behalf. More details can be found on the Foreman Architecture page.

Future Updates

see Upgrade instructions


see Troubleshooting