Skip to content

Latest commit

 

History

272 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rackpad

Latest tag Build Container License Stars Discord

Important

Help shape Rackpad’s next phase

We have published a proposed automation roadmap covering the public API, optional agents, deeper infrastructure integrations, network and IPAM automation, major provider support, and carefully controlled infrastructure management.

These are proposed directions rather than shipped features or fixed delivery dates. We would like community feedback before implementation begins.

Read the roadmap and share your feedback →

View the detailed engineering roadmap

Rackpad is a self-hosted infrastructure inventory and operations workspace for homelabs, small racks, network rooms, and lab environments. It brings racks, devices, ports, cables, Networks/IPAM, storage, Wi-Fi, compute, discovery, monitoring, documentation, images, integrations, reports, labs, and administration into one clean app.

Stable: v1.8.3. Use GitHub Releases to confirm published artifacts. See the release and upgrade notes. Docker is the supported deployment; native Proxmox LXC remains experimental. See the changelog; the latest-tag badge may show a prerelease.

Built with:

  • React + Vite frontend
  • Fastify API
  • SQLite persistence through better-sqlite3
  • session-based authentication with admin/editor/viewer roles
  • per-device health checks with ICMP, TCP, HTTP/HTTPS, and SNMP (v1/v2c/v3) monitor targets; optional trap receiver and VLAN/subnet sync (see SNMP guide)
  • Docker support for a single-container deployment; first-party native Proxmox LXC support is in staged validation

Development: Stacked switches add ordered members, labelled MACs, and member port assignments in the combined schema-51 candidate.

Highlights

  • Visual topology — a movable React Flow network map with cable routes, health overlays, and rack/pyramid layouts
  • Racks, devices, ports & cables — dense rack elevations, switch-panel port maps, and full cable patching
  • Networks and IPAM — VLANs, subnets, DHCP zones and reservations, gateway/DNS protection, and multi-IP device records
  • Storage topology — drive inventory, physical bays and enclosures, cross-device pools, missing members, and reusable templates
  • Monitoring — per-device ICMP, TCP, HTTP/HTTPS, and SNMP health checks with email/Discord/Telegram alerting
  • Discovery — IPAM-subnet, all-subnet, and manual-CIDR scanning with import reconciliation
  • Wi-Fi, compute & docs — controller/SSID/AP/radio/client inventory, virtualization hosts, and markdown docs with images
  • Light & dark themes, self-hosted fonts (works offline / air-gapped), and multilingual support across 24 interface languages
  • Self-hosted — single Docker container, SQLite persistence, session auth with admin/editor/viewer roles, optional OIDC

See the changelog for what landed in each release.

Quick links

Rackpad's public website is rackpad.net. The repo also contains the core material you need:

Preview

Rackpad ships light and dark themes. This preview is generated from a safe, opt-in demo database at 1920x1200; the lossless source captures live in docs/screenshots.

Dashboard — inventory, health, and activity

Rackpad dark operations dashboard showing inventory totals, health status, capacity, and recent activity

Storage — drives, bays, and pool health

Rackpad dark Storage pool editor showing degraded cross-device membership, capacity, and a pulled drive

Visualizer — physical and logical topology

Rackpad dark Visualizer diagram connecting racks, devices, workloads, WiFi, and documented cables

Networks — VLANs, subnets, DHCP, and IPAM

Rackpad Networks workspace consolidating VLAN, subnet, gateway, DNS, DHCP scope, zone, and assignment context

Integrations — controllers and UTC schedules

Rackpad Integrations workspace showing provider tiles, a disabled UniFi example, sync scope, and an expanded UTC schedule

WiFi — controllers, SSIDs, radios, and clients

Rackpad WiFi workspace showing controllers, SSIDs, access points, radios, associated clients, and signal context

Inventory and physical infrastructure workspaces

Labs and locations

Rackpad Labs workspace showing the Home Lab and Studio inventory boundaries

Racks, rooms, and half-width placement

Rackpad Racks workspace showing room-grouped rack elevations, mounted equipment, and paired half-width appliances

Device inventory

Rackpad Devices workspace with searchable physical, wireless, virtual, unmanaged, and custom-type inventory

Compute hosts and workloads

Rackpad Compute workspace summarizing inherited hypervisor appliances, virtual machines, containers, and capacity

Storage drive inventory in light theme

Rackpad light Storage drive inventory showing installed, unassigned, and pulled media across devices

Aggregate ports and member links

Rackpad Ports workspace with the pve-01 aggregate-port inspector and physical member relationships

Cable inventory and bulk editing

Rackpad Cables workspace with two links selected in the bulk metadata editor
Operations, review, and administration workspaces

Operations dashboard (light theme)

Rackpad light operations dashboard showing inventory, health, capacity, and recent activity

Discovery inbox and scheduled scans

Rackpad Discovery workspace with staged network findings, reconciliation context, and a disabled sample scan schedule

Review-first Proxmox import

Rackpad Imports workspace staging a sample Proxmox host, bridges, virtual machines, containers, MACs, and IPs for review

Monitoring targets

Rackpad Monitoring workspace summarizing disabled ICMP, TCP, HTTP, HTTPS, and SNMP demo targets

Reports and exports

Rackpad Reports workspace with printable, spreadsheet-compatible, and CSV inventory exports

Audit history

Rackpad Audit Log showing storage, device-type, integration, network-review, and inventory history

Administration

Rackpad Administration workspace for users, settings, integrity review, snapshots, and operational controls
Documentation, customization, and alternate topology workspace views

Diagram visualizer (light theme)

Rackpad light Visualizer diagram showing physical and logical inventory relationships

Documentation and linked runbooks

Rackpad Documentation workspace with Markdown runbooks, inline reference images, and linked devices

Managed custom device types

Rackpad Device Types workspace with Disk shelf selected, storage-enclosure inheritance, and live usage counts

HTTP/HTTPS checks may target public hosts, RFC1918 LAN addresses, and IPv6 ULA addresses. Rackpad pins each DNS resolution and blocks loopback, link-local, metadata-service, multicast, and reserved destinations, including redirects.

What you can see before install

From the GitHub repo alone, you can already preview the major Rackpad workspaces:

  • Dashboard for inventory, health, capacity, and recent activity
  • Storage for drives, bays, custom enclosure layouts, cross-device pools, and missing-member review
  • Racks for physical placement, mounted gear, and room-tech context
  • Devices for searchable inventory and placement-aware records
  • Device Types for managed custom types, built-in inheritance, and usage counts
  • Ports for switch, host, AP, VM, and patch-panel connectivity
  • Compute for hosts, VMs, and virtual switch / bridge membership
  • WiFi for controllers, SSIDs, radios, clients, and signal context
  • Discovery for staged imports, MAC/vendor hints, and duplicate detection
  • Monitoring for multi-target ICMP, TCP, HTTP, and HTTPS checks
  • Networks for consolidated VLANs, subnets, DHCP scopes, reservations, IP zones, assignments, and mismatch review
  • Documentation for Markdown notes, runbooks, and inline pictures
  • Imports for review-first Hyper-V and Proxmox host, VM, and container onboarding
  • Integrations for Proxmox, UniFi, Omada, OPNsense, and Dockhand previews plus opt-in UTC schedules
  • Reports for printable/PDF, Excel-compatible, and CSV exports
  • Audit Log for accountable inventory, storage, integration, and review history
  • Administration for users, settings, integrity checks, JSON export, and native SQLite snapshots
  • Visualizer for rack, pyramid, diagram, loose-room, port, WiFi, and cable relationship maps

Feature guides

Use these when you want the workflow steps rather than just the overview:

  • Hyper-V import: download the collector, collect inventory on a Hyper-V host, map or create the host record, review VMs, and import selected categories.
  • Proxmox import: download the collector, collect inventory on a Proxmox node, map or create the node record, review QEMU VMs and LXC containers, and import selected categories.
  • Reports: generate a clean inventory report, print/save to PDF, and export CSV or Excel-compatible files.
  • Storage topology: document physical drive bays, lab-wide drive inventory, cross-device pools, and missing members.
  • Networks/IPAM: create tagged or untagged networks, document DHCP scopes, zones, reservations, and VLAN planning ranges.
  • Controller integrations: connect Proxmox VE, UniFi, Omada, OPNsense, and Dockhand APIs, store credentials encrypted, pull live inventory, and apply reviewed VLAN/subnet changes.
  • Discovery: run manual or scheduled scans, keep results review-first, and understand Docker/LXC visibility limits.
  • Visualizer: inspect rack, loose-room, port, and cable relationships from existing Rackpad data.
  • OIDC login: configure Authentik or another IdP, map roles, and debug issuer/discovery URL problems.
  • Documentation and images: create Markdown runbooks, insert pictures, attach device reference images, and include them in backups.

Versioning

Rackpad uses semantic versioning and Git tags in the form vX.Y.Z.

Every shipped change should update the version and add a matching changelog entry describing what changed.

Release channels

Rackpad uses three ordered release branches:

  • main: stable release branch intended for production and tagged releases
  • beta: pre-release testing branch for changes that should be validated before they land on main
  • dev: integration branch for work that is not yet ready for beta testing

Recommended workflow:

  • integrate new work into dev
  • promote validated development changes from dev to beta
  • promote validated beta changes from beta to main
  • create version tags like vX.Y.Z from main

The promotion order is devbetamain.

Branch image tags such as dev, beta, and latest move as their branches are published. Immutable semantic-version image tags such as 1.8.0 are created only from an explicitly approved Git release tag.

If you want the newest testing build instead of the latest stable tag:

git checkout beta
git pull origin beta

Legal and support files

The repository now also includes:

Requirements

  • Docker Engine with the Compose plugin for normal installs
  • Node 22 LTS and npm for development or native installs

The repo includes .nvmrc, so if you use nvm:

nvm use

Development

Install dependencies:

npm install

Run the full dev stack:

npm run dev:all

This starts:

  • frontend on http://localhost:5173
  • API on http://localhost:3000

The Vite dev server proxies /api to the Fastify backend.

Production build

Build both the frontend and backend:

npm run build

Start the compiled app:

npm start

The authoritative environment-variable contract and defaults are documented in .env.example. CI checks that every supported runtime variable is represented there and passed through all intended Compose manifests. See INSTALL.md for deployment, secret, OIDC, discovery, and reverse-proxy configuration.

For provider setup, use the OIDC guide. For layer-2 visibility, permissions, and optional host discovery, use the discovery deployment guide.

First run

On the first boot there are no users yet.

  1. Open Rackpad in the browser.
  2. Create the initial admin account.
  3. Sign in.
  4. Choose whether to start empty or preload the expanded demo environment.
  5. Start documenting racks, devices, VLANs, and IPAM.

If a local admin password is lost in a Docker install, use the container CLI recovery command documented in INSTALL.md. OIDC users must reset passwords in the identity provider.

Install With Docker

Use the installation guide for the canonical Linux, Windows, Proxmox, source-build, backup, update, and recovery procedures. Stable installations can pin RACKPAD_TAG=1.8.3; latest follows stable and beta follows testing. The normal deployment uses one hardened container and a persistent SQLite volume.

Linux test deploy

See native Node deployment for source-build requirements and the generic service example. Docker remains the recommended path.

Reverse proxy / TLS

Follow the version-specific proxy instructions. Older 1.8.0 uses controlled hop counts; stable 1.8.3 and 1.8.2 beta.4 onward require explicit proxy IPs/CIDRs. Terminate TLS at the proxy and restrict direct application access. Before upgrading, read the 1.8.3 upgrade precautions for encryption-key retention, OIDC re-login, trap opt-in, and paired rollback.

Native development note

Native development on Windows, Linux, and macOS requires Node 22. Docker remains the recommended deployment method.

Quality checks

Run the standard non-browser completion gate:

npm run check

npm run check:full adds Playwright browser and accessibility tests and is the full CI/release application gate. The canonical validation ladder is in .ai/COMMANDS.md; package.json owns the command bodies.

Server tests require Node 22 on a platform where better-sqlite3 can load.

Project layout

rackpad/
|- docs/screenshots/       GitHub-friendly app screenshots
|- server/                 Fastify API, SQLite schema, seed data, routes, tests
|- src/
|  |- components/          UI and feature components
|  |- lib/                 typed API client, store, types, helpers
|  |- pages/               route-level screens
|- dist/                   built frontend
|- dist-server/            built backend
|- Dockerfile              production container build
|- docker-compose.yml      local container orchestration

Full step-by-step setup instructions are in INSTALL.md. Version-by-version release notes are in CHANGELOG.md.

Special thanks

A special thank you to @M4v3r1cK87 and @dhop90.

Rackpad has benefited hugely from their time, testing, feedback, screenshots, bug reports, and ideas. Their involvement has helped shape the project in a very real way, and I am genuinely grateful for the care they have put into helping improve it.

Thank you both for being such an important part of Rackpad's journey.

Support the project

Rackpad is free to use. If it helps you and you want to support the work, there is an optional Ko-fi link here on GitHub: ko-fi.com/k0bii. PayPal.me is also available here: paypal.me/St3wi.

About

Self-hosted infrastructure inventory and operations for homelabs and labs: racks, devices, ports, cables, IPAM, VLANs, WiFi, compute, discovery, monitoring, reports, and topology visualization.

Topics

Resources

Contributing

Security policy

Stars

396 stars

Watchers

3 watching

Forks

Packages

Used by

Contributors

Languages