Files
docs/deployments/automation/FOG Project.md
Nicole Rappe fd07ee3b57
All checks were successful
Automatic Documentation Deployment / Sync Docs to https://kb.bunny-lab.io (push) Successful in 6s
Update deployments/automation/FOG Project.md
2026-05-04 19:10:30 -06:00

126 lines
5.4 KiB
Markdown

## Purpose
If you want to deploy the FOG Project software in your homelab environment to remotely image devices via PXE boot, follow the instructions below to get through the process.
!!! info "assumptions"
It is assumed that you are deploying FOG Project in [Ubuntu Server 26.04](https://releases.ubuntu.com/26.04/ubuntu-26.04-live-server-amd64.iso) or newer. This documentation does not account for distro-specific issues in other operating systems.
It is also assumed that you allocate at least 4-cores and 8GB of RAM with at least 256GB of storage for the OS and FOG images.
!!! warning "Potential Netplan Misconfiguration"
If the FOG server cannot resolve DNS names or reach external networks, verify that the Netplan configuration includes both:
- `nameservers` pointing to valid DNS servers
- a default route pointing to the network gateway
Check the Netplan configuration:
```sh
cd /etc/netplan
ls
sudo nano <netplan file>
```
Ensure it looks similar to this:
```yaml
network:
version: 2
ethernets:
ens18:
addresses:
- 192.168.3.9/24
routes:
- to: default
via: 192.168.3.1
match:
macaddress: bc:24:11:5c:eb:c9
nameservers:
addresses:
- 192.168.3.25
- 192.168.3.26
search: []
set-name: ens18
```
Apply the configuration safely and temporarily with `sudo netplan try` and if connectivity still works, accept the changes permanently by running `sudo netplan apply`. Otherwise, Netplan will roll back the changes automatically.
### Update & Snapshot the GuestVM
Before we take a checkpoint/snapshot and install FOG Project, we want to ensure that the GuestVM is fully updated. After the updates are complete, shutdown the GuestVM, take a snapshot, and boot it back up.
```sh
sudo apt update -y && sudo apt upgrade -y && sudo apt autoremove
sudo poweroff
```
### Download FOG Project Tarball
Download the most recent FOG Project tarball from the [official website](https://fogproject.org/download.php) then extract it.
```sh
curl -L https://api.github.com/repos/FOGProject/fogproject/tarball/1.5.10.1826 -o FOGProject-fogproject-1.5.10.1826-0-g2309704.tar.gz
tar -xzvf FOGProject-fogproject-1.5.10.1826-0-g2309704.tar.gz
cd FOGProject-fogproject-2309704/bin
sudo ./installfog.sh
```
### Install FOG Project (External DHCP Server)
The steps below will guide you on a high-level through the external DHCP-server based deployment of FOG Project. Steps will be different if you want FOG itself handing out DHCP addresses and DNS records itself, which I do not recommend.
#### Question Steps
- What version of Linux would you like to run the installation for? > `2`
- What type of installation would you like to do? > `N`
- Would you like to change the default network interface from ens18? > `N`
- Would you like to setup a router address for the DHCP server? > `N`
- Would you like DHCP to handle DNS? > `N`
- Would you like to use the FOG server for DHCP service? > `N`
- This version of FOG has internationalization support, would you like to install the additional language packs? > `N`
- Would you like to enable secure HTTPS on your FOG server? > `N`
- Would you like to change the hostname? > `N`
- Are you ok with sending this information? > `N`
- Are you sure you wish to continue? > `Y`
!!! example "Summary Example"
* Here are the settings FOG will use:
* Base Linux: Debian
* Detected Linux Distribution: Ubuntu
* Interface: ens18
* Server IP Address: 192.168.3.9
* Server Subnet Mask: 255.255.255.0
* Hostname: lab-fog-01
* Installation Type: Normal Server
* Internationalization: No
* Image Storage Location: /images
* Using FOG DHCP: No
* DHCP will NOT be setup but you must setup your
| current DHCP server to use FOG for PXE services.
* On a Linux DHCP server you must set: next-server and filename
* On a Windows DHCP server you must set options 066 and 067
* Option 066/next-server is the IP of the FOG Server: (e.g. 192.168.3.9)
* Option 067/filename is the bootfile: (e.g. undionly.kkpxe or snponly.efi)
* Send OS Name, OS Version, and FOG Version: No
### Database Schema Update/Install
At this point, you will be prompted to login to the website hosted by FOG Project to setup the database, navigate to the URL provided. (e.g. http://192.168.3.9/fog/management)
- Click the "**Install/Update Now**" button
- Be patient, there is no progress bar, but eventually it will state "Install / Update Successful!" and will provide a link to the FOG Project login screen.
- Return to the SSH session and press **[ENTER]** to proceed with the setup.
- After a minute or two, you will see a success dialog such as below, where you can now login to the FOG web portal to start using FOG Project
!!! success "Installation Complete"
You can now login to the FOG Management Portal using the information listed below. The login information is only if this is the first install.
This can be done by opening a web browser and going to:
http://192.168.3.9/fog/management
Default User Information
- **Username**: fog
- **Password**: password
**Changed configurations**:
The FOG installer changed configuration files and created the
following backup files from your original files:
- /etc/vsftpd.conf <=> /etc/vsftpd.conf.1777937213
- /etc/exports <=> /etc/exports.1777937213