HELBOOT

HELBOOT

Docker app from Kreuzbube88's Repository

Overview

HELBOOT is a provisioning engine for homelabs: upload original OS ISOs, build installation profiles, register machines by MAC address and get fully automated network installations (PXE / iPXE / HTTP boot) for Windows, Debian, Ubuntu, Fedora, openSUSE, Proxmox VE and more. Works alongside your existing router DHCP (ProxyDHCP mode) or as a standalone DHCP server. Host network mode is strongly recommended: PXE relies on DHCP broadcasts that do not traverse Docker bridge networking. Ensure UDP 67/69/4011 and TCP 8080 are free on the host.

HELBOOT

Provisioning engine for homelabs β€” unattended OS installs over the network

Status Go License Platform


HELBOOT is a provisioning engine for homelabs. Upload an original OS ISO, let HELBOOT detect what it is, create an installation profile, register your machines by MAC address, assign a profile β€” and get fully automated, unattended OS installations over the network.

PXE is just one boot method. The architecture is built to grow: iPXE, HTTP boot, USB boot images, VM provisioning, cloud-init, Redfish and IPMI are all part of the roadmap.

🚧 Status: Early development, moving fast. Implemented so far: the full network boot chain (ProxyDHCP/DHCP, TFTP, iPXE scripts, answer files), ISO management with automatic OS detection, the installation queue, host discovery, user management with roles, backup/restore, a log viewer and USB/CD boot media β€” all behind a bilingual (en/de) web UI. Not yet hardened for production use; field testing of the boot chain against real hardware is ongoing. See ARCHITECTURE.md and the ADRs.


Screenshots

Dashboard (light theme) Dashboard (dark theme)

Dashboard overview β€” light and dark

First-run setup wizard Profile form generated from a provider's settings schema

First-run setup wizard, and a profile form generated entirely from the provider's settings schema β€” no hardcoded per-OS forms


Why HELBOOT?

Existing netboot tools either serve live images only, require deep manual configuration, or are built for enterprise fleets. HELBOOT targets the homelab: one Docker container, a first-run wizard, original (unmodified) ISOs, and profiles that generate the unattended-install answer files for you.


Core concepts

Concept What it is
Provider A pluggable module describing one operating system: its boot methods, install methods, required files and answer-file templates. No OS logic is hardcoded.
Capability A declarative description of what a provider supports (pxe, http_boot, unattended_install, secure_boot, …). The UI adapts automatically.
Profile A versioned installation recipe: OS + ISO + language, users, network, partitioning, packages, scripts.
Host A machine registered by MAC address, with vendor, model, tags, assigned profile and installation history.
Queue Planned installations with status tracking: discovered β†’ waiting β†’ installing β†’ success/error.

Supported operating systems (v1 targets)

  • Windows: 10, 11, Server 2022, Server 2025
  • Linux: Debian, Ubuntu, Fedora, openSUSE
  • Virtualization: Proxmox VE, VMware ESXi
  • NAS: TrueNAS SCALE

Where full automation is not technically possible for an OS, the provider documents its limitations and the UI reflects them via capabilities β€” for example TrueNAS SCALE network-boots its installer but has no unattended answer-file format of its own.

HELBOOT only ships providers it can install fully unattended over the network (or, like TrueNAS SCALE, at least network-boot). Operating systems that ship as pre-built disk images with no network-install path of their own (e.g. DietPi, Home Assistant OS) are out of scope until HELBOOT gains a network image-write capability β€” see the provider request template if you'd like to help design that.


Network modes

  • Mode A β€” existing DHCP (e.g. a FRITZ!Box): HELBOOT runs ProxyDHCP, PXE/iPXE, TFTP and HTTP boot alongside your router. No changes to your network required.
  • Mode B β€” HELBOOT DHCP: HELBOOT provides DHCP itself, plus PXE, TFTP and HTTP.

Deployment

One Docker image, one container. Host networking is the recommended mode (required for DHCP/ProxyDHCP broadcast traffic). See DOCKER.md and UNRAID.md for details, including the Unraid Community Applications template.

docker run -d \
  --name helboot \
  --network host \
  -v /path/to/data:/data \
  -v /path/to/isos:/data/isos \
  ghcr.io/kreuzbube88/helboot:latest

On first start, the web UI walks you through a setup wizard: language, admin account, network mode, storage locations, and optionally your first ISO and profile.


Tech stack

  • Backend: Go β€” single static binary, REST API with OpenAPI spec
  • Frontend: React + TypeScript, fully internationalized (English and German)
  • Database: SQLite with migrations, backup and restore
  • Auth: Local users (Argon2id) with roles (Administrator, Operator, Viewer); OIDC-ready

See the Architecture Decision Records for the reasoning behind each choice.


Documentation


License

HELBOOT is licensed under the GNU Affero General Public License v3.0.

Install HELBOOT on Unraid in a few clicks.

Find HELBOOT in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for HELBOOT Review the template variables and paths Click Install

Related apps

Details

Repository
ghcr.io/kreuzbube88/helboot:latest
Last Updated2026-07-09
First Seen2026-07-09

Runtime arguments

Web UI
http://[IP]:[PORT:8080]/
Network
host
Shell
sh
Privileged
false

Template configuration

DataPathrw

HELBOOT state: database, generated boot assets, logs, secrets.

Target
/data
Default
/mnt/user/appdata/helboot
Value
/mnt/user/appdata/helboot
ISO LibraryPathrw

Optional: existing share with original OS ISO files. HELBOOT never modifies them.

Target
/data/isos
Default
/mnt/user/isos
Value
/mnt/user/isos
WebUI PortVariable

HTTP listen address for the web UI, API and HTTP boot (host network). Format :PORT.

Target
HELBOOT_HTTP_ADDR
Default
:8080
Value
:8080
Log LevelVariable

Log verbosity: debug, info, warn or error.

Target
HELBOOT_LOG_LEVEL
Default
info
Value
info