LAN Orangutan: Self-Hosted Network Scanner for Homelabs

Anyone running a homelab knows the feeling. Half a dozen devices on the network, and you’re not sure which is which. MAC addresses blur together, IPs shuffle, and remembering “the little box in the closet is the PiHole” takes real detective work. LAN Orangutan is a self-hosted network scanner built for exactly that problem — it discovers devices on your LAN via nmap, labels them, and tracks them across scans. Network discovery is a solved problem in theory, but the usual tools live on a command line and forget everything between runs. That said, LAN Orangutan goes further: it ships as a single Go binary under MIT, sits at 494 stars on GitHub, and runs from a web UI or a JSON-output CLI.

What LAN Orangutan Does

The core loop is simple: scan, see what’s alive, label it once, forget it.

Persistence is the differentiator.

A device you tag as “Living Room TV” stays tagged on the next scan, instead of vanishing into a pile of fresh MAC addresses. Grouping and notes ride along too, which is the part most plain nmap wrappers skip.

Multi-network support matters if your homelab spans more than one subnet or site. Also, each network gets scanned independently, and the results come together in one clean dashboard with light and dark modes.

Yet Tailscale is where it gets interesting. Tailnet peers show up automatically, so a scanner running on one box still maps the whole tailnet without extra config — a real win if you’re managing remote nodes over a mesh VPN. If you’re still weighing mesh options, our headscale vs Tailscale comparison breaks down the self-hosted route.

FeatureLAN OrangutanPlain nmap + scripts
Device discoverynmap auto-scanManual commands
Persistent labelingBuilt-inDIY, forgettable
Tailscale auto-discoveryYesNo
Web UILight/dark dashboardNo
CLI / JSON outputYesYes
InstallSingle binaryDepends on setup

Hands-On: Setting It Up

Honestly, setup took me under five minutes. Then I pulled the Docker image on an Ubuntu box, ran docker compose up -d, and pointed a browser at port 291.

From there, it’s straight to the dashboard once you’ve set a password on first load. I kicked off a scan of my main subnet. The web UI showed live progress, and within a few minutes the device list filled in with hostnames, IPs, and MACs. So I labeled one of them, re-ran the scan, and the tag stuck — the feature that sold me.

curl -O https://raw.githubusercontent.com/291-Group/LAN-Orangutan/main/docker-compose.yml
docker compose up -d
# open http://<that-machine>:291 and set a password

The CLI hands you the same data as JSON, so you can pipe device inventory into a script or a Grafana dashboard if you’re into that. Though for a home network, the web UI is honestly enough — that level of visibility is plenty.

What to Watch Out For

Docker requires Linux because it uses host networking. But on Docker Desktop for macOS or Windows, the container sees the VM’s network, not your LAN. Still, if you’re on a Mac or Windows desktop, the native single-binary build is the safer path.

LAN Orangutan isn’t the only self-hosted scanner around — we’ve also tested the Ragnar Pi network scanner for a Raspberry Pi flavor of the same idea. Documentation is thin for a young project. At 494 stars it’s early, so treat it as a homelab tool rather than mission-critical infra. Even so, password protection is per-instance, not multi-user — fine for a single admin, not a team.

Bottom Line

LAN Orangutan earns a spot if you run a real homelab and you’re tired of squinting at nmap output. Persistent labeling, Tailscale auto-discovery, and a clean web UI cover the everyday pain points, and it’s free and open source.

If you just want a one-off scan, plain nmap is enough. But if you want a network discovery tool you’ll actually keep using, this is worth a weekend.