Octofleet: Zero-Touch OS Deployment with PXE Boot π

Today was a highly productive day! Weβve extended Octofleet with a powerful new feature: Zero-Touch OS Deployment via PXE Boot.
What is Octofleet?
Octofleet is our open-source Endpoint Management Platform. Think of it as an octopus π with 8 arms, each handling a different server task: monitoring, patching, installing, configuring, securing, and more!
Imagine you have 50 servers or workstations that all need a fresh operating system. Normally that means: burning USB sticks, changing BIOS settings, clicking through installers⦠Boring!
With Octofleet, itβs now as simple as:
- Enter MAC address
- Select operating system
- Click βCreate Jobβ
- Power on server β done!
No USB stick. No installer. No clicking around. Zero-Touch.
How Does PXE Boot Work?
PXE (Preboot Execution Environment) allows a computer to boot directly over the network β no local hard drive or USB required.
The flow:
1. Server starts β DHCP Request
2. DHCP responds with IP + PXE Server address
3. Server loads iPXE bootloader (via TFTP)
4. iPXE asks Octofleet API: "What should I do?"
5. API responds: "Here's your boot script for Windows Server 2025!"
6. WinPE starts β Partitions disk β Downloads image β Installs
7. Windows boots β Domain Join β Agent installed β DONE!
The beauty: Everything happens over HTTP. No SMB shares, no firewall headaches.
What We Built Today
π§ Backend
- Provisioning API with CRUD endpoints for Tasks, Images, and Templates
- Dynamic iPXE generation β each MAC address gets its own boot script
- Database schema for provisioning tasks with full state tracking
- Status callbacks β servers report their installation progress back to the API
π¨ Frontend
- Provisioning Dashboard with live data from the API (no more mock data!)
- βNew Jobβ Dialog β enter MAC, select OS, and go
- Task Queue with real-time status (Pending β Booting β Installing β Done)
- Auto-refresh every 10 seconds
- Delete and retry functionality for failed tasks
π¦ Windows Deployment
- Windows Server 2025 (Standard & Datacenter editions)
- Unattend.xml for fully automated installation:
- German locale & timezone (customizable)
- Admin password pre-configured
- RDP enabled out of the box
- Automatic Domain Join
- WinPE Boot Image with curl.exe for HTTP downloads
π₯οΈ Hypervisor Support
- Hyper-V Generation 2 (UEFI) β tested and working!
- KVM/libvirt β template prepared with VirtIO drivers
- Bare Metal β template for physical servers
The Tech Stack
βββββββββββββββββββββββββββββββββββββββββββββββ
β Octofleet UI β
β (Next.js + Tailwind CSS) β
βββββββββββββββββββ¬ββββββββββββββββββββββββββββ
β HTTP/REST
βββββββββββββββββββΌββββββββββββββββββββββββββββ
β Octofleet Backend β
β (FastAPI + PostgreSQL + asyncpg) β
βββββββββββββββββββ¬ββββββββββββββββββββββββββββ
β
βββββββββββββββββββΌββββββββββββββββββββββββββββ
β PXE Server β
β (dnsmasq + nginx + iPXE + WinPE) β
βββββββββββββββββββ¬ββββββββββββββββββββββββββββ
β PXE/HTTP
βββββββββββββββββββΌββββββββββββββββββββββββββββ
β Target Server β
β (boots via network β installed!) β
βββββββββββββββββββββββββββββββββββββββββββββββ
Why βOctofleetβ?
Like an octopus with 8 arms, Octofleet handles multiple tasks simultaneously:
- π§ Patching β keeping systems up to date
- π₯οΈ Installing β deploying fresh OS images
- π Monitoring β tracking system health
- πͺ Windows Management β domain join, roles, features
- π» Terminal Access β remote command execution
- π Networking β configuration and connectivity
- βοΈ Configuration β settings and policies
- π‘οΈ Security β vulnerability tracking and compliance
All from a single, unified platform!
Whatβs Next?
This is just the beginning! On our roadmap:
- Ubuntu/Linux Support β Autoinstall & Cloud-Init integration
- Windows 11 β for client deployments
- Windows Server 2019 β legacy support
- Live Status Callbacks β real-time progress in the UI
- Systems Registry β provisioned systems as permanent entities
Conclusion
From βpower on serverβ to βdomain-joined & RDP-readyβ now takes only 15-20 minutes. Without anyone lifting a finger. Thatβs the magic of Zero-Touch Deployment!
The code is open source on GitHub: BenediktSchackenberg/octofleet
Questions? Feedback? Hit me up on Discord!
π Octofleet β Because server installation shouldnβt be boring.