mrkeyoor.com_
Tue 01 Sept 17:40 UTC
Self-Hostedevaluationupdated 26 Aug 2026

netbox review

NetBox is a web application for recording the intended state of networks: sites, racks, devices, cables, addresses, circuits, power, and virtual infrastructure. Automation and monitoring systems read that shared model through APIs; NetBox does not log into switches or push configuration by itself.

+42stars / 7d
Verdict

Our NetBox install added 126 packages and 371 MB, built in 10 seconds, and reported 8 known vulnerabilities, so adoption needs dependency review as well as network modeling work. Use it when a shared, API-readable record of intended network state will replace scattered spreadsheets and scripts. Skip it if you expect the product itself to configure devices or cannot staff its database, queue, application, and proxy stack.

We ran it

Lab card: what happened when we ran netboxScreenshot of netbox (netboxlabs.com/products/netbox)
Install✓ · 77s126 packages · 371 MB
Build✓ · 10s
Testsn/ano test script
Known vulns8(pip-audit)
Repo2157 files~256,542 lines of source · 49.4 MB · 10 CI workflows

Answers from our run

Does netbox build from source?

Dependencies installed in 77 seconds (126 packages), and the build succeeded in 10 seconds. We cloned commit 5fba79c into a clean Debian container with 3 CPUs and no project-specific setup.

Does netbox have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does netbox have known vulnerabilities in its dependencies?

pip-audit flagged 8 known advisories in the dependency tree at the time of our run.

Who should not use netbox?

Teams seeking a controller that directly configures network devices: the README explicitly says NetBox does not interact with nodes.

What are the alternatives to netbox?

Nautobot, phpIPAM, Ralph. Our NetBox install added 126 packages and 371 MB, built in 10 seconds, and reported 8 known vulnerabilities, so adoption needs dependency review as well as network modeling work.

Setup3/5Build passed, but production needs database, cache, workers, and proxy
Docs5/5Architecture, roles, requirements, and deployment steps are explicit
Community5/521,389 stars with same-day pushes and active issue triage
Maturity4/5Ten-year project with frequent fixes; audit found 8 advisories

Discussed on

  1. hnNetbox: Infrastructure resource modeling for network automation8 points

Who it’s for

Network teams replacing spreadsheets or a legacy IPAM/DCIM database with structured inventory.
Automation engineers who need a REST or GraphQL source of intended network state.
Operators who want custom fields, validation, permissions, event rules, and plugins.
Teams able to run PostgreSQL, Redis, a Python application, workers, and an HTTP proxy.

Who it’s NOT for

Teams seeking a controller that directly configures network devices: the README explicitly says NetBox does not interact with nodes.
Small shops unwilling to operate PostgreSQL, Redis, Gunicorn or uWSGI, a background worker, and a reverse proxy.
Buyers treating inventory as automatically correct: NetBox models intended state, so imports, ownership, and update procedures remain your job.
Environments that require a clean vulnerability audit before evaluation: our installed Python set reported 8 known vulnerabilities.

Setup reality

Our sandbox installed 126 Python packages in 77 seconds, using 371 MB on disk, and the build succeeded in 10 seconds. The repository exposed no test script or target for our runner, so tests were skipped. Pip-audit reported 8 known vulnerabilities in the installed dependency set.

A working self-hosted deployment needs Python 3.12 through 3.14, PostgreSQL 14 or later, Redis 5.0 or later, a WSGI server, a background worker, and an HTTP proxy. Database credentials, a secret key, allowed hosts, email, authentication, and storage settings depend on the environment.

The official installation instructions target Ubuntu 24.04 and warn that commands differ on other distributions. PostgreSQL 14 and Redis versions below 6.0 are already deprecated for removal in NetBox 4.7, so a new deployment should start above those floors.

NetBox records intended network state instead of configuring devices

NetBox gives network teams one structured place for sites, racks, devices, interfaces, cables, IP addresses, VLANs, circuits, power, VPNs, and virtual machines. It treats those records as intended state. Ansible, monitoring systems, provisioning services, and internal tools can read them through REST or GraphQL APIs. The boundary is explicit in the README: NetBox does not connect to network nodes or apply configurations itself.

That separation is useful when spreadsheets, ticket notes, and device commands disagree. A cable trace, prefix assignment, device role, or rack position can have validation and change history instead of living in one engineer's workbook. It also creates a responsibility that buyers sometimes miss. NetBox only becomes a source of truth when people and automation keep it accurate. Installing it does not discover an estate or settle who owns updates.

The data model covers more than IP address management

A plain IPAM product may be enough for subnets and addresses. NetBox reaches further into physical connectivity, equipment, circuits, tenancy, power, virtualization, and configuration context. Custom fields and tags extend existing objects, while plugins can add models, views, and integrations. Fine-grained permissions can limit a team to specific object types or tenants, and custom validation rules can reject changes or protect objects from deletion.

The system can render Jinja2 device configurations from stored data and expose the result through its API. Custom scripts support guided workflows such as adding a branch office. Event rules can invoke a script or send a webhook when an object changes. Those features connect inventory to automation, but the last step still belongs to an external tool such as Ansible or Salt. That is a good safety boundary, provided your operating model accounts for it.

What happened when we ran it

Our sandbox installed 126 Python packages in 77 seconds and used 371 MB on disk. The build completed successfully in 10 seconds at commit 5fba79c. The checkout contained 2,157 files, about 256,542 lines of source, and occupied 49.4 MB. Ten CI workflow files were present, while our scan found no Dockerfile and no top-level tests directory.

Tests were skipped because the repository did not expose a test script or target to our runner. That is different from a passing suite, and it is also different from evidence that NetBox has no tests. The honest result is that our standard harness could install and build this checkout but could not invoke its test suite. A team modifying the Python application should identify the maintained test command before accepting changes.

Pip-audit reported 8 known vulnerabilities in the installed dependency set. The supplied measurement does not identify their packages, severities, reachability, or available fixes, so none of those details should be inferred. It does justify a dependency review before deployment. Pin the intended NetBox release, reproduce the audit against that deployment image, and decide each advisory from the package path and exposed behavior rather than the count alone.

Self-hosting means at least 6 moving parts

The official installation guide was tested on Ubuntu 24.04. It lists Python 3.12, 3.13, or 3.14, PostgreSQL 14 or newer, and Redis 5.0 or newer. The reference stack also includes NetBox's Django application, a background worker, Gunicorn or uWSGI, static asset storage, and an HTTP server such as Nginx or Apache. Backups must cover the database plus uploaded or generated files relevant to your configuration.

Starting at the minimum versions would be shortsighted. The docs say PostgreSQL 14 support and Redis versions before 6.0 will be removed in NetBox 4.7. A fresh installation should begin with PostgreSQL 15 or later and Redis 6.0 or later, then pin supported versions through upgrades. The same guide warns that non-Ubuntu package commands can differ significantly, so Debian compatibility in our lab does not validate every production distribution.

Configuration adds secrets and policy choices that a source build never exercises. Administrators need database credentials, a Django secret key, host and origin settings, authentication, outbound email where used, worker supervision, TLS termination, static files, backups, and restore drills. LDAP is optional. Plugins add their own compatibility and upgrade work, especially when they introduce database models. Test the exact plugin set before every NetBox upgrade rather than assuming the core release covers it.

Change history helps only when writes have clear owners

NetBox logs object creation, edits, and deletion, attributes changes to a user, and groups related writes by request ID. That gives an operations team a useful audit trail. Permissions can divide responsibility by tenant or object type. Event rules can notify another system when data changes, and custom validation can encode local rules such as preventing deletion of an active device.

Those controls do not decide whether a discovery import, a human edit, or an automation job wins during a conflict. Establish ownership for each field and a reconciliation process before connecting writers. If device facts flow in automatically while engineers also edit them by hand, history will explain the disagreement but will not prevent churn. A source of truth works best when write paths are few, reviewed, and documented.

August 2026 activity shows a maintained, busy project

GitHub recorded 21,389 stars, 214 combined open issues and pull requests, and a last push on August 26, 2026. Release v4.6.9 shipped one day earlier. Its fixes covered bulk import errors, job deletion memory use, event rollback behavior, navigation, hierarchy display, cached scopes, and GraphQL cable queries. The open queue also showed active triage on cable paths, prefix counts, filters, and custom scripts.

That pace supports a strong community score, though it raises the cost of casual upgrades. The latest release had 19 listed bug fixes alongside interface additions and one performance change. Read release notes for the object types and plugins you use, run migrations on a copy of production data, and verify API clients before rollout. NetBox is a sensible choice for a serious network inventory program. It is much less convincing as an unattended appliance that nobody owns.

Alternatives

ProjectWhat it isPick it when
NautobotA network source-of-truth and automation platform built around a Python application and plugins.pick this instead when automation jobs and an application platform should live closer to the network data model.
phpIPAMA narrower web application centered on IP address management.pick this instead when addresses and subnets are the main problem and NetBox's full infrastructure model is excessive.
RalphAn asset-management and data-center inventory system with hardware lifecycle coverage.pick this instead when purchasing, ownership, depreciation, and broader asset lifecycle records matter more than network automation APIs.

What people are saying

  1. [github-trending] netbox-community/netbox

Sources

  1. NetBox README
  2. NetBox installation guide
  3. NetBox v4.6.9 release
  4. NetBox issue 22947

More self-hosted reviews

v2 · OpenShell · wigolo · Mindwtr · club-3090 · reclip · the whole board →