
Racks, devices, ports, and cables, documented without the overhead of enterprise DCIM. If you can draw your network on a whiteboard in 10 minutes, you should be able to document it in RANT in 10 minutes.
If you've ever needed to document a network rack, you've probably hit the same wall:there was nothing in between a handful of single-purpose tools and a full enterprise DCIM platform.
RANT fills that gap. Initially built for homelabs, it has evolved into a robust documentation tool for small businesses, small to medium I.T. teams, MSPs, small datacenters, and anyone who needs to know which cable goes where, without deploying an enterprise platform to find out.
The existing tools are excellent, but each leaves part of the problem unsolved:
Maps cable connections beautifully. Its "click to patch" approach directly inspired RANT. But it has no concept of racks or sites and stores everything in browser localStorage.
Renders gorgeous drag-and-drop rack elevations with real device images. But has no cable documentation at all, you still can't know what's plugged in where.
Does everything: IPAM, circuits, power, tenancy, REST + GraphQL APIs. But requires PostgreSQL, Redis, a task queue, and real maintenance. Serious infrastructure that is often overkill for a single site or a small business.
RANT deliberately documents the physical infrastructure layer and nothing else.
U-position management with real-time collision detection. Define rack height, place devices by U-slot, and get instant warnings if you over-fill a bay.
Click-to-patch workflow for port-to-port connections. Front and back slot awareness, seamless cross-site patching, and full end-to-end cable trace with split-view.
Site → Rack → Device hierarchy with auto-generated Mermaid.js diagrams. Click a topology node to jump straight into that rack's patch view.
A stripped-down, focused UI designed for your phone. Perfect for quick diagnoses and discovery while standing in front of the rack.
Generate and print Avery-compatible QR code labels. Scan a label with your phone to jump straight to that asset's documentation instantly.
Full REST API for automation and integration. Inventory your racks programmatically, export cable lists, or hook RANT into your existing toolchain.
SQLite served over the network means your whole team shares one source of truth. No per-user files, no sync issues, no browser localStorage limits.
Session-based login with multi-user management out of the box. Or disable it entirely and trust an upstream reverse proxy (Traefik, Keycloak, Authelia).
Export your single device ports and connections to CSV directly from the browser. Keep your data portable with fast, client-side generation.
Every tool here is excellent at what it does. RANT's value is in combining rack layout, cable documentation, and multi-site management at zero operational overhead.
| Feature | RANT | ECCM | Rackula | NetBox | RackTables |
|---|---|---|---|---|---|
| Rack layout | ✔ U-position + collision detection | ✗ No rack concept | ✔ Drag-and-drop | ✔ Full elevation views | ✔ Basic |
| Cable documentation | ✔ Port-to-port, front/back, cross-site | ✔ Excellent, its core strength | ✗ None | ✔ Full cable tracing | ✔ Physical ports |
| Multi-site topology | ✔ Site → Rack → Device, Mermaid diagrams | ✗ Single-page, no hierarchy | ✗ Single rack at a time | ✔ Full multi-tenancy | ✔ Locations |
| Shared database | ✔ SQLite (team access via server) | ✗ Browser localStorage only | ~ Optional backend | ✔ PostgreSQL | ✔ MySQL |
| Initial setup | ✔ Single container or nix-build | ✔ Open a file | ✔ Single container | ✗ Multi-service stack, Redis, workers | ~ LAMP provisioning |
| IPAM / VLANs | ✗ Deliberately out of scope | ✗ N/A | ✗ N/A | ✔ Full IPAM | ~ Basic |
| REST API | ✔ Full REST API | ✗ N/A | ✗ N/A | ✔ REST + GraphQL + webhooks | ~ Basic |
| Effort | RANT | ECCM | Rackula | NetBox | RackTables |
|---|---|---|---|---|---|
| Initial setup | 🟢 Single container or nix-build | 🟢 Open a file | 🟢 Single container | 🔴 Multi-service stack, migrations, workers | 🟡 LAMP provisioning + schema |
| Rack documentation | 🟢 Define and go | 🔴 N/A | 🟢 Drag-and-drop | 🟡 Device-types, roles, manufacturers first | 🟢 Straightforward |
| Cable documentation | 🟢 Click-to-patch | 🟢 Drag-and-drop | 🔴 N/A | 🔴 Cable types, terminations, rear ports | 🟡 Manual configuration |
| Multi-site | 🟢 Create sites, add racks | 🔴 N/A | 🔴 N/A | 🔴 Regions, site groups, locations, tenancy | 🟡 Location hierarchy |
| Dependencies | 🟢 Node.js, SQLite | 🟢 None (static HTML) | 🟢 Node.js | 🔴 Python, PostgreSQL, Redis | 🟡 PHP, MySQL, Apache |
🟢 Minimal🟡 Moderate🔴 Significant
Same codebase, three deployment targets. Pick whatever fits your environment.
docker build -t rant:latest .
docker run -d \
--name rant \
-p 3001:3001 \
-v rant_data:/app/data \
--restart unless-stopped \
rant:latestAccess at http://localhost:3001. First launch prompts you to create an admin user.
wrangler d1 create rant-db
cp wrangler.example.toml wrangler.toml
wrangler d1 migrations apply rant-db --remote
npm install && cd client && npm install
cd .. && npm run build:cf
wrangler pages deploy dist/publicPush to Git to auto-deploy. Connect D1 in the Cloudflare dashboard under Settings → Functions.
nix-build
./result/bin/rant
# Or install into your profile:
nix-env -if .
rantOn first build, copy the hash from the error message into default.nix, standard Nix behaviour.
RANT's data model borrows heavily from NetBox's proven hierarchy (Sites → Racks → Devices → Ports), and its "click to patch" interaction pattern comes directly from ECCM's zero-friction design. We owe both projects a significant debt.
The difference is scope. RANT documents the physical infrastructure layer and nothing else. These are explicit non-goals, they protect the project's simplicity:
Use NetBox for IP address and VLAN management. RANT is intentionally blind to the logical layer.
RANT documents what exists, not whether it's healthy. Use Prometheus, Zabbix, or LibreNMS for that.
No power, cooling, or physical capacity modelling. Those require a dedicated DCIM like openDCIM.
Ansible, Nornir, and Nautobot own configuration. RANT just documents what the cables connect to.
RANT's core is proudly open source under the AGPL-3.0 license. We are committed to keeping this foundational infrastructure tool free and open for the community to self-host, audit, and extend. We believe in building software that empowers teams to truly own their data and their documentation.
Why I design infrastructure to be disposable, reproducible and predictable, and how that philosophy shaped RANT.
Read more →RANT is officially moving to Beta. Here's a look at the latest features for mobile discovery, and the complex state-management bugs we squashed to get here.
Read more →The frustration that led to building a lightweight tool for documenting physical network infrastructure, and why nothing else quite fit.
Read more →