Restructured Documentation
Automatic Documentation Deployment / Sync Docs to https://kb.bunny-lab.io (push) Successful in 8s

This commit is contained in:
2026-09-05 14:08:43 -06:00
parent c4bd235eba
commit 289769a601
281 changed files with 5403 additions and 3563 deletions
@@ -1,3 +1,9 @@
---
tags:
- Automation
- Deploy FOG Project
---
## 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.
@@ -42,9 +48,9 @@ If you want to deploy the FOG Project software in your homelab environment to re
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.
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
### Update and 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
@@ -79,27 +85,27 @@ The steps below will guide you on a high-level through the external DHCP-server
- 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
- 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 Linux DHCP server you must set: next-server and filename
* On a Windows DHCP server you must set options 066 and 067
- 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
- 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)
@@ -115,186 +121,167 @@ At this point, you will be prompted to login to the website hosted by FOG Projec
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
## Disorganized Next Steps (Under Construction)
After DHCP is correctly pointing clients to the FOG server (Options 66/67 or `next-server`/`filename`), the next phase is **PXE boot workflow + host registration and image management**—not user authentication at boot.
Short answer: **No, you do not need to create a PXE login user.** FOG does not use traditional authentication during PXE boot. Instead, it uses a **menu-driven iPXE environment** and **host registration + task assignment** from the web UI.
Short answer: **No, you do not need to create a PXE login user.** FOG does not use traditional authentication during PXE boot. Instead, it uses a **menu-driven iPXE environment** and **host registration + task assignment** from the web UI.
---
## What Actually Happens After DHCP is Set
Once DHCP is configured:
1. Client boots → gets IP + bootfile
2. Loads **iPXE from FOG**
3. Connects to FOG server
4. Displays **FOG PXE menu**
5. From there:
1. Client boots → gets IP + bootfile
2. Loads **iPXE from FOG**
3. Connects to FOG server
4. Displays **FOG PXE menu**
5. From there:
* Register host
* Deploy image
* Run tasks
- Register host
- Deploy image
- Run tasks
---
## Recommended Next Sections for Your Document
You should continue with something like this:
---
### Validate PXE Boot
Before doing anything else, confirm PXE is working end-to-end.
* Boot a test machine on the same network
* Ensure:
- Boot a test machine on the same network
- Ensure:
* It gets an IP from DHCP
* It downloads `undionly.kpxe` (BIOS) or `snponly.efi` (UEFI)
* It reaches the **FOG iPXE menu**
- It gets an IP from DHCP
- It downloads `undionly.kpxe` (BIOS) or `snponly.efi` (UEFI)
- It reaches the **FOG iPXE menu**
Expected result: You see a FOG menu (not a login prompt)
---
### Register a Host in FOG
FOG needs to know about devices before imaging.
#### Option 1: Register via PXE Menu (most common)
From the PXE menu:
* Select: **Perform Full Host Registration and Inventory**
* Enter:
- Select: **Perform Full Host Registration and Inventory**
- Enter:
* Hostname
* Optional description/location
- Hostname
- Optional description/location
This creates a host object in FOG.
#### Option 2: Pre-create in Web UI
- Go to: `FOG Management → Hosts → Create New Host`
- Add:
* Go to: `FOG Management → Hosts → Create New Host`
* Add:
* MAC address
* Hostname
- MAC address
- Hostname
---
### Create and Capture an Image
Before deploying, you need an image stored in FOG.
#### Create Image Definition
- Navigate: `Images → Create New Image`
- Set:
* Navigate: `Images → Create New Image`
* Set:
- Name
- Image Type:
* Name
* Image Type:
* `Single Disk - Resizable` (most common)
* Storage group (default is fine)
- `Single Disk - Resizable` (most common)
- Storage group (default is fine)
---
#### Assign Image to Host
* Go to the host you registered
* Set the **Image** field to your new image
- Go to the host you registered
- Set the **Image** field to your new image
---
#### Capture Image (Upload from a reference machine)
On your “golden image” machine:
1. Boot via PXE
2. Register it (if not already)
3. In Web UI:
1. Boot via PXE
2. Register it (if not already)
3. In Web UI:
* Select host
* Click **Capture**
4. Reboot machine → it uploads disk to FOG
- Select host
- Click **Capture**
4. Reboot machine → it uploads disk to FOG
---
### Deploy Image to a Host
Once an image exists:
1. Assign image to target host
2. Schedule a **Deploy Task**
3. Boot target machine via PXE
1. Assign image to target host
2. Schedule a **Deploy Task**
3. Boot target machine via PXE
No login required — it will automatically start imaging if a task is assigned.
---
## Important Clarification (This Answers Your Question Directly)
> “Do we need to set up a user to login via PXE?”
**No.** FOG uses:
* MAC address identification
* Task-based automation
* Optional menu interaction
- MAC address identification
- Task-based automation
- Optional menu interaction
There is:
* ❌ No PXE login system by default
* ❌ No per-user authentication during boot
* ✅ Central control via the web UI
- ❌ No PXE login system by default
- ❌ No per-user authentication during boot
- ✅ Central control via the web UI
---
## Optional (Advanced Sections You Might Add Later)
If you want to make your doc more complete:
### Secure the Environment
* Change default credentials (`fog/password`)
* Enable HTTPS (you skipped this earlier)
* Restrict PXE boot via VLANs or DHCP policies
- Change default credentials (`fog/password`)
- Enable HTTPS (you skipped this earlier)
- Restrict PXE boot via VLANs or DHCP policies
### UEFI vs BIOS Handling
* BIOS → `undionly.kpxe`
* UEFI → `snponly.efi`
- BIOS → `undionly.kpxe`
- UEFI → `snponly.efi`
### Automating Deployments
* Auto-assign hosts
* Use host groups
* Schedule multicast deployments
- Auto-assign hosts
- Use host groups
- Schedule multicast deployments
### Storage Optimization
* Separate `/images` to a larger disk
* NFS tuning
- Separate `/images` to a larger disk
- NFS tuning
---
## Suggested Next Heading for Your Doc
```md
### Validate PXE Boot and Access FOG Menu
```
@@ -303,4 +290,9 @@ followed by:
```md
### Register Hosts and Prepare Images
```
```
## Related Documentation
- [Pi-hole PXE Configuration](<Configure Pi-Hole PXE Boot.md>) — Use the documented DHCP integration when Pi-hole serves the network.
- [Windows DHCP PXE Scaffold](<Configure Windows Server PXE Boot.md>) — Check the explicitly incomplete alternative before choosing it.
- [Related Automation Documentation](<../../../reference/Automation/index.md>) — Find the connected deployments, procedures, and references for this subject.