If you self-host anything, you’ve had the sinking feeling: I forgot what I deployed where. Two open-source projects promise to solve that, but they take radically different paths to get there.
Scanopy (5.2K★) is a Rust daemon + JS UI that auto-generates network topology diagrams — L2 physical maps, L3 logical subnets, workload container trees, and application dependency graphs. It launched ~10 months ago and is the new hotness.
NetAlertX (6.8K★) is a Python/PHP asset intelligence framework that’s been around since late 2021. It discovers devices, tracks changes, fires alerts via 80+ notification gateways, and integrates with Home Assistant, Prometheus, and arbitrary webhooks.
They live in the same GitHub topic tag (“network-monitoring”) but answer fundamentally different questions. Let me break down where they shine and where they fall short.
At a Glance
- Scanopy — “Network diagrams that update themselves.” Auto-generated visual topology maps: L2, L3, workloads, and application dependencies.
- NetAlertX — “Centralized network visibility and continuous asset discovery.” Device inventory, change detection, alerting, and multi-site sync.
Quick Stats
| Dimension | Scanopy | NetAlertX | |—|—|—| | Tagline | Network diagrams that update themselves | Network visibility & asset intelligence | | Primary output | Topology DIAGRAMS (SVG/Mermaid/Confluence) | Asset INVENTORY + ALERTS | | Language | Rust (daemon) + JS (UI) | Python (server) + PHP (frontend) | | Age | ~10 months (Sep 2025) | ~4.5 years (Dec 2021) | | Stars | 5,240 | 6,846 | | Latest release | v0.17.7 (Jul 29, 2026) | v26.7.1 (Jul 1, 2026) | | License | AGPL-3.0 (commercial available) | GPL-3.0 | | Docker images | Two: daemon + server | Single container + plugins | | Cloud option | Scanopy Cloud (paid tier) | None |
What Scanopy Does Well
Scanopy’s killer feature is the four-view model. A single scan pass produces:
- L2 (Physical) — Every switch, every port, every link. Switch topology from SNMP/LLDP.
- L3 (Logical) — Subnets and how hosts route across them.
- Workloads — Bare metal → hypervisors → containers → VMs in a tree.
- Applications — Services and their dependencies, grouped by application tier.
This is diagram-as-code for people who hate draw.io. The output is exportable as SVG (embed in wikis), Mermaid (throw into MkDocs), or Confluence (one-click publish). There’s a hosted demo at demo.scanopy.net that shows the full UI without installing anything.
230+ service definitions ship out of the box. It auto-detects databases, web servers, container orchestrators, network hardware, and enterprise apps. The daemon-based architecture means you can deploy scanners across multiple subnets/VLANs and aggregate into one server — useful for multi-site homelabs or MSP clients.
The Rust backend is fast. Full network scans that take minutes with Python-based tools finish in seconds here.
The cloud offering matters. Scanopy Cloud exists if you don’t want to self-host. That’s important for the “deploy at work” crowd who need a SaaS option.
What NetAlertX Does Well
NetAlertX’s killer feature is change detection + alerting. It doesn’t just map — it watches. When a new device appears, a device goes offline, or an IP changes, you get a notification through any of 80+ gateways (Telegram, Pushover, NTFY, email via Apprise, etc.).
The plugin architecture is extensible. Scan methods are plugins: ARP scan, Pi-hole DB import, Pi-hole DHCP leases, generic DHCP leases, UniFi controller import, SNMP router import. Want a new scanner? Write a plugin in ~15 minutes with the documented template. Compare this to Scanopy’s hardcoded 230 service definitions — you get breadth with Scanopy, but depth and customization with NetAlertX.
Multi-site Sync Nodes are a proper hub-spoke architecture. Deploy a NetAlertX instance at each remote site as a “sync node” that reports back to a central hub. This is built for MSPs managing dozens of customer networks from a single pane.
Workflow automation lets you auto-categorize devices, auto-group by vendor, auto-delete stale entries, and unarchive devices when they come back online. It’s not as full-featured as a dedicated IT automation platform, but for a self-hosted tool it’s surprisingly capable.
Home Assistant integration is a standout. If you run HA, NetAlertX can feed device presence/change events directly into your home automation — “turn on the office light when my work laptop connects to WiFi” territory.
Prometheus metrics export lets you plug it into your existing monitoring stack. This is a first-class feature, not an afterthought.
Where They Fall Short
Scanopy’s gaps
No alerting. Zero. Scanopy tells you what your network looks like, but won’t tell you when a new device appeared or a server went offline. You’d pair it with something else (Zabbix, Uptime Kuma, NetAlertX) for that.
Plugins are not extensible by users. The 230 service definitions are hardcoded into the Rust daemon. Adding a custom scanner means either upstreaming it or forking. The project is young and the contribution process works, but it’s not a 15-minute plugin API.
Single-vendor maturity. NetAlertX has 4.5 years of edge-case hardening. Scanopy is 10 months old. The issue tracker has 49 open issues — some are feature requests, but some are real bugs. Use at your own risk in production.
RBAC is enterprise-only. Multi-user + role-based access is there, but it’s tied to the Scanopy Cloud tier or the self-hosted build. It’s not as mature as a proper SSO/OIDC integration.
NetAlertX’s gaps
Visualization is an afterthought. The web UI is functional PHP — tables, forms, detail pages. There’s no topology diagram, no graph view, no “show me my entire network in one map.” You get device lists and presence timelines. It works, but it’s ugly.
PHP frontend in 2026. The frontend is PHP (no disrespect to the language’s longevity, but modern tooling it is not). The UX is clunky, mobile support is questionable, and it feels like a 2018-era dashboard.
No built-in topology mapping. It discovers devices and tracks them, but doesn’t understand network links, switch port mappings, or service dependencies. You get “device A exists on subnet X” not “device A connects to switch B on port 12, which uplinks to router C.”
Docker-only recommended. Bare metal installation exists but is clearly not the first-class path. Every deployment pitfall in the docs assumes Docker.
The Verdict: Complementary, Not Competitive
Use Scanopy if you need network diagrams that stay accurate — for documentation, for compliance, for the satisfaction of seeing your homelab laid out like a real enterprise topology map. It’s the tool you open when you need to explain your network to someone (or to yourself six months later).
Use NetAlertX if you need network monitoring — change alerts, device tracking, multi-site asset inventory, and automation integrations. It’s the tool that runs in the background and only talks to you when something changes.
Use both if you can. They occupy orthogonal slices of the same problem. NetAlertX watches for changes and alerts you; Scanopy visualizes the current state. There’s no official integration, but NetAlertX’s webhook system could theoretically trigger a Scanopy rescan on new device detection. Patches welcome.
Disclosure: Both projects are free and open-source. I have no affiliation with either team, but I run both in my homelab. This post is an independent evaluation — the data came from live READMEs, GitHub APIs, and hands-on deployment.