Getting started
This takes you from a fresh install to a client getting an address. Lighthouse never auto-serves DHCP on install — the engine is registered but stays stopped until you explicitly arm it, so it can't fight an existing DHCP server by accident.
1. Install
- Ubuntu: install the
.deb. It installslighthoused+ thelighthouseCLI, creates an unprivilegedlighthouseuser, and registers thelighthousedservice disabled. - Windows: run the MSI. It installs the binaries and registers a native Windows Service
lighthoused, stopped.
See Setup & installation for paths, ports, and options.
2. Configure a subnet
Edit the config file (/etc/lighthouse/lighthouse.toml on Ubuntu,
C:\ProgramData\Lighthouse\lighthouse.toml on Windows) — or use the web UI's first-run wizard.
A minimal IPv4 subnet:
[server]
interfaces = ["eth0"]
server_id = "192.168.10.1" # this host's LAN IP
[[subnet]]
cidr = "192.168.10.0/24"
pools = ["192.168.10.100-192.168.10.200"]
exclude = ["192.168.10.150"]
[subnet.options]
routers = ["192.168.10.1"]
domain_name_servers = ["192.168.10.1", "1.1.1.1"]
See the Configuration reference for every section.
3. Validate
Check the config without starting the engine:
lighthoused --config /etc/lighthouse/lighthouse.toml --check
4. Arm the engine
sudo systemctl enable --now lighthoused # Ubuntu
sc start lighthoused # Windows
The engine binds the interface and UDP port 67 and begins answering DHCP.
5. Verify a lease
lighthouse leases # IP / MAC / STATE / EXPIRES / HOSTNAME
lighthouse health
Or open the web UI — the Dashboard shows pool utilization and active leases,
and the Leases page lists every client. Release a test lease with lighthouse release <ip>.