Public Beta. RANT is currently in active development. Core features are stable, but expect occasional bugs and minor API changes as we approach 1.0.

A lightweight source of truth for physical network infrastructure.

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.

There was nothing in between.

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:

ECCM

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.

No Racks
Rackula

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.

No Cables
NetBox

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.

Too Heavy

Everything you need. Nothing you don't.

RANT deliberately documents the physical infrastructure layer and nothing else.

Rack Layout

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.

Cable Documentation

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.

Multi-site Topology

Site → Rack → Device hierarchy with auto-generated Mermaid.js diagrams. Click a topology node to jump straight into that rack's patch view.

Mobile Scanner Views

A stripped-down, focused UI designed for your phone. Perfect for quick diagnoses and discovery while standing in front of the rack.

QR Code Labels

Generate and print Avery-compatible QR code labels. Scan a label with your phone to jump straight to that asset's documentation instantly.

REST API

Full REST API for automation and integration. Inventory your racks programmatically, export cable lists, or hook RANT into your existing toolchain.

Shared Team Database

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.

Built-in Authentication

Session-based login with multi-user management out of the box. Or disable it entirely and trust an upstream reverse proxy (Traefik, Keycloak, Authelia).

CSV Export

Export your single device ports and connections to CSV directly from the browser. Keep your data portable with fast, client-side generation.

How RANT compares

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.

FeatureRANTECCMRackulaNetBoxRackTables
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
EffortRANTECCMRackulaNetBoxRackTables
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

Three ways to run RANT.

Same codebase, three deployment targets. Pick whatever fits your environment.

🐳

Docker

Best for: Self-hosted, existing container infrastructure
Database: SQLite file on a Docker volume
Auth: Built-in login or proxy auth (Traefik/Keycloak)
docker build -t rant:latest .

docker run -d \
  --name rant \
  -p 3001:3001 \
  -v rant_data:/app/data \
  --restart unless-stopped \
  rant:latest

Access at http://localhost:3001. First launch prompts you to create an admin user.

☁️

Cloudflare Pages + D1

Best for: Zero-ops hosting, global CDN, CI/CD from Git
Database: Cloudflare D1 (managed SQLite)
Cost: Free tier: 100k requests/day, 5GB D1
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/public

Push to Git to auto-deploy. Connect D1 in the Cloudflare dashboard under Settings → Functions.

❄️

Nix

Best for: NixOS users, reproducible and auditable builds
Database: SQLite file on disk
Auth: Built-in login or proxy auth
nix-build
./result/bin/rant

# Or install into your profile:
nix-env -if .
rant

On first build, copy the hash from the error message into default.nix, standard Nix behaviour.

Do one thing well.

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:

Not an IPAM

Use NetBox for IP address and VLAN management. RANT is intentionally blind to the logical layer.

Not a Monitoring Tool

RANT documents what exists, not whether it's healthy. Use Prometheus, Zabbix, or LibreNMS for that.

Not a DCIM Platform

No power, cooling, or physical capacity modelling. Those require a dedicated DCIM like openDCIM.

Not a Config Manager

Ansible, Nornir, and Nautobot own configuration. RANT just documents what the cables connect to.

Built for the community.

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.

View Source Code
GitHub Activity
Fetching latest commits...

Latest updates

6 October 2026 · fluffycheese

Rebuild, Don't Repair

Why I design infrastructure to be disposable, reproducible and predictable, and how that philosophy shaped RANT.

Read more →
23 September 2026 · fluffycheese

The Road to Beta: From Zombie Panes to QR Codes

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 →
1 September 2026 · fluffycheese

Why I Built RANT - There Was Nothing in Between

The frustration that led to building a lightweight tool for documenting physical network infrastructure, and why nothing else quite fit.

Read more →
View all posts