FOG rkt container
I’ve created a build script for FOG with rkt. It’s based on the latest RC 1.3.5-RC1.
The default configuration uses ProxyDHCP.
To run and build this container you need:
First you need to load the NFS kernel modules with:
sudo modprobe nfs && sudo modprobe nfsd
Then clone the rkt-fog repository and go to the directory:
git clone https://github.com/THS-on/rkt-fog.git && cd rkt-fog
Change 192.0.2.1 in
files/dnsmasq.conto your FOG IP.
Change 192.0.2.2 in
files/.fogsettingsto your routeraddress.
Build the container with:
Run container (creates directories for mysql and images, loads kernel modules):
Now you can access fog.
- Web interface: http://YOUR_IP/fog
- User: fog
- Password: password
- Password for ftp: secret
Not all files are persistent yet!
Please help testing and maybe somebody can also port this to a Dockerfile.
Edit1: Added persistent mysql support and simplified startup
@Wayne-Workman Added support for persistent MySQL.
My infrastructure is completely based on containers, so it was a nice challenge to integrate FOG as container. At this point its not really a container because no capabilities are dropped and the host network is used.
Normally I would split FOG in multiple containers (MySQL, dnsmasq, tftpboot etc.), but because it’s an also an appliance for me i build a “all-in-one” container.
@THS Definitely the database should be persistent - unless you’re not caring to manage systems throughout their lifespans.
The idea of a container for fog is new to me - because I view FOG as an appliance that is always on, always there, always available, persistent. At my last job, all 500-ish systems in the building I configured to boot from the network first. This way we can remotely tell a system to image, and to make mass imaging easier. I would never want the FOG Server to stop serving TFTP because some computers in the building would just hang when trying to network boot due to how their firmware is. And of course, for network booting to work always, apache needs to be always running, fog’s web files need to always be there, the database needs to always be there. the tftpboot files need to always be there.
I think it’s helpful but not implemented/tested yet.
What directories should also be saved?
Do you think it’s helpful that the DB isn’t persistent?