Docker image for running The Foreman

Problem: I’d like to come up with an infrastructure management setup that includes The Foreman. The components need to be upgradable easily. Hence, we’ve started to sympathize with the idea of having The Foreman in a Docker container, keeping its data outside the container in (a) volume(s).

There is a Docker image at foreman/foreman that unfortunately is rather old and lacks the link to its source repo.

Is there anything (similar) in the making or known to someone here? I’d like to avoid duplicate effort.

I’ll let @ehelms to answer, but the short answer is that we’ve been expanding forklift abilities to generate containers as well, with the aim to be able to support running on kuberenetes / openshift - see https://github.com/theforeman/forklift/tree/master/containers for more info.

Aha, forklift, didn’t know about that. Then maybe it’s worth making my answer more generic:

If I wanted to create an infrastructure management setup, and wanted to make sure it’s easily upgradable, what would be the obvious (or recommended) way to do it?

This is what the setup should or could look like:

  • The Foreman
  • libvirt (for creating VMs using The Foreman later)
  • FreeIPA

Obviously, I want to create the setup in an automated fashion. For test-driving I would use Vagrant. For setting up things inside the Vagrant box I use Ansible.

@ohadlevy I’ve seen you’ve proposed the foreman-docker-compose project to be moved under the umbrella of the The Forman organization on GitHub. Can we complete the move?

https://github.com/shlomizadok/foreman-docker-compose/issues/6

If I’m not mistaken the forklift project is not suitable for or targeted towards lightweight deployments (e.g. a living room server for home automation). A Docker Compose setup may do, though, probably.

Forklift is just a way for developers and testers to be able to get a Foreman box quickly and easily. It’s completely OK for the use case you mentioned.

You may use forklift to get the Foreman host up and running, then run foreman-installer with any extra plugins you may need.