Alpha Build - Heavy Development. APIs will change without warning and the database schema is not yet stable. Use in production at your own risk.

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. Built for homelabbers, small IT teams, 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 for a 12-device homelab.

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.

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).

REST API

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

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.

Latest updates

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