- Latest stable release
- Latest source code
- Initial setup
- Import Data from Puppet
- Start The Web Server
- Future Updates
before you start, make sure you have:
- Puppet >= 0.24-4
- rake >= 0.84
- 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 RHE5 and Ubuntu 8.04 - 9.04, for older operating systems you might need additional packages (e.g. sqlite)
Latest stable release¶
Latest stable version can be found here
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://github.com/ohadlevy/foreman.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 http://github.com/ohadlevy/foreman.git foreman cd foreman sed -i 's/git:\/\//http:\/\//g' .gitmodules git submodule init git submodule update
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 .
If you want to share the database with Puppets (storeconfig), just modify 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¶
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, I would recommend to setup passenger, an puppet manifest example could be found here.