RackPeek is a lightweight, opinionated CLI tool for documenting and managing home lab and small-scale IT infrastructure.
It helps you track hardware, services, networks, and their relationships in a clear, scriptable, and reusable way without enterprise bloat or proprietary lock-in.
RackPeek is open source and community-driven. Code, docs, ideas, bug reports, and real-world usage feedback are all massively appreciated. If you run a home lab, you belong here.
We’re gathering feedback from homelabbers to validate direction and prioritize features.
Answer whichever questions stand out to you, your input directly shapes the project.
RackPeek treats infrastructure documentation as living reference data rather than static paperwork.
You should be able to document your environment as you build it, explore relationships between systems, and quickly understand how everything fits together, without drowning in unnecessary metadata or process.
RackPeek is not a CMDB replacement. It’s a clean framework for understanding and maintaining your lab.
# Named volume
docker volume create rackpeek-config
docker run -d \
--name rackpeek \
-p 8080:8080 \
-v rackpeek-config:/app/config \
aptacode/rackpeek:latest
# Bind mount
docker run -d \
--name rackpeek \
-p 8080:8080 \
-v $(pwd)/config:/app/config \
aptacode/rackpeek:latest
# Note - RackPeek stores its state in YAML
config/
└── config.yaml
Or Docker compose
version: "3.9"
services:
rackpeek:
image: aptacode/rackpeek:latest
container_name: rackpeek
ports:
- "8080:8080"
volumes:
- rackpeek-config:/app/config
restart: unless-stopped
volumes:
rackpeek-config:
docker compose up -dSimplicity
RackPeek focuses on clarity and usefulness. Its scope is intentionally kept narrow to avoid unnecessary abstraction and feature creep.
Ease of Deployment
The tool exists to reduce operational complexity. Installation, upgrades, and day-to-day usage should be straightforward and low-friction.
Openness
RackPeek uses open, non-proprietary data formats. You fully own your data and should be free to easily inspect, migrate, or reuse it however you choose.
Community
Contributors of all experience levels are welcome. Knowledge sharing, mentorship, and collaboration are core to the project’s culture.
Privacy & Security
No telemetry, no ads, no tracking, and no artificial restrictions. What runs on your infrastructure stays on your infrastructure.
Dogfooding
RackPeek is built to solve real problems we actively have. If a feature isn’t useful in practice, it doesn’t belong.
Opinionated
The project is optimized for home labs and self-hosted environments, not enterprise CMDBs or corporate documentation workflows.
[x] Ideation
[x] Development
[~] Alpha Release
[ ] Beta Release
[ ] v1.0.0 Release
- rpk
- summary - Show a summarized report of all resources in the system
- servers - Manage servers and their components
- summary - Show a summarized hardware report for all servers
- add - Add a new server to the inventory
- get - List all servers or retrieve a specific server by name
- describe - Display detailed information about a specific server
- set - Update properties of an existing server
- del - Delete a server from the inventory
- tree - Display the dependency tree of a server
- cpu - Manage CPUs attached to a server
- drive - Manage drives attached to a server
- gpu - Manage GPUs attached to a server
- nic - Manage network interface cards (NICs) for a server
- switches - Manage network switches
- summary - Show a hardware report for all switches
- add - Add a new network switch to the inventory
- list - List all switches in the system
- get - Retrieve details of a specific switch by name
- describe - Show detailed information about a switch
- set - Update properties of a switch
- del - Delete a switch from the inventory
- port - Manage ports on a network switch
- routers - Manage network routers
- summary - Show a hardware report for all routers
- add - Add a new network router to the inventory
- list - List all routers in the system
- get - Retrieve details of a specific router by name
- describe - Show detailed information about a router
- set - Update properties of a router
- del - Delete a router from the inventory
- port - Manage ports on a router
- firewalls - Manage firewalls
- summary - Show a hardware report for all firewalls
- add - Add a new firewall to the inventory
- list - List all firewalls in the system
- get - Retrieve details of a specific firewall by name
- describe - Show detailed information about a firewall
- set - Update properties of a firewall
- del - Delete a firewall from the inventory
- port - Manage ports on a firewall
- systems - Manage systems and their dependencies
- summary - Show a summary report for all systems
- add - Add a new system to the inventory
- list - List all systems
- get - Retrieve a system by name
- describe - Display detailed information about a system
- set - Update properties of a system
- del - Delete a system from the inventory
- tree - Display the dependency tree for a system
- accesspoints - Manage access points
- ups - Manage UPS units
- desktops - Manage desktop computers and their components
- add - Add a new desktop
- list - List all desktops
- get - Retrieve a desktop by name
- describe - Show detailed information about a desktop
- set - Update properties of a desktop
- del - Delete a desktop from the inventory
- summary - Show a summarized hardware report for all desktops
- tree - Display the dependency tree for a desktop
- cpu - Manage CPUs attached to desktops
- drive - Manage storage drives attached to desktops
- gpu - Manage GPUs attached to desktops
- nic - Manage network interface cards (NICs) for desktops
- Laptops - Manage Laptop computers and their components
- add - Add a new Laptop
- list - List all Laptops
- get - Retrieve a Laptop by name
- describe - Show detailed information about a Laptop
- del - Delete a Laptop from the inventory
- summary - Show a summarized hardware report for all Laptops
- tree - Display the dependency tree for a Laptop
- cpu - Manage CPUs attached to Laptops
- drive - Manage storage drives attached to Laptops
- gpu - Manage GPUs attached to Laptops
- services - Manage services and their configurations
- summary - Show a summary report for all services
- add - Add a new service
- list - List all services
- get - Retrieve a service by name
- describe - Show detailed information about a service
- set - Update properties of a service
- del - Delete a service
- subnets - List subnets associated with a service, optionally filtered by CIDR

