Skip to main content

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 installs lighthoused + the lighthouse CLI, creates an unprivileged lighthouse user, and registers the lighthoused service 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>.