Нет описания

Tim Jones 6ddeae02ae Merge branch 'main' into automated-docs 1 месяц назад
.github 2e82af6068 Git workflow added and generate_commands_markdown.sh made to be more platform agnostic 1 месяц назад
.idea 1154a08e04 Added blazor wasm demo 1 месяц назад
.run 6de3c52626 Refactored project 1 месяц назад
RackPeek 7c96d63ff8 replace hardcoded YAML path with configurable RPK_YAML_DIR in Program.cs for cli,web,WASM 1 месяц назад
RackPeek.Domain fbd1f70bc2 Added notes to all resources 1 месяц назад
RackPeek.Web 7c96d63ff8 replace hardcoded YAML path with configurable RPK_YAML_DIR in Program.cs for cli,web,WASM 1 месяц назад
RackPeek.Web.Viewer 7c96d63ff8 replace hardcoded YAML path with configurable RPK_YAML_DIR in Program.cs for cli,web,WASM 1 месяц назад
Shared.Rcl fbd1f70bc2 Added notes to all resources 1 месяц назад
Tests fbd1f70bc2 Added notes to all resources 1 месяц назад
config 2e82af6068 Git workflow added and generate_commands_markdown.sh made to be more platform agnostic 1 месяц назад
vhs ff983fd07a Fixed permissions issue in dockerfile 1 месяц назад
.DS_Store 64510509cc Highlight input field backgrounds 1 месяц назад
.dockerignore 8515ffa681 Added resource cards 2 месяцев назад
.gitignore f1d0198417 Include config dir in wwwroot 1 месяц назад
CommandIndex.md a618d639ac Updated readme 1 месяц назад
Commands.md dbae0785d6 Merge branch 'blazor-wasm-demo' of https://github.com/Timmoth/RackPeek into blazor-wasm-demo 1 месяц назад
LICENSE 600d2707cc Initial commit 2 месяцев назад
README.md 0e07e73bcf Revise README for clarity and user engagement 1 месяц назад
RackPeek.sln 1154a08e04 Added blazor wasm demo 1 месяц назад
generate_commands_markdown.sh 2e82af6068 Git workflow added and generate_commands_markdown.sh made to be more platform agnostic 1 месяц назад
notes.md f387a74098 Fixed broken services link on the homepage 1 месяц назад
servers.yaml 29997eebf2 Added command markdown script 2 месяцев назад

README.md

RackPeek

RackPeek is a lightweight, opinionated CLI tool / webui 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 or drowning in unnecessary metadata or process.

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.

Join our Discord Live Demo Docker Hub

Brandon Lee recently posted an article on how / why to use RackPeek, if you're interested in the project make sure to check it out!

RackPeek demo RackPeek demo

Running RackPeek with Docker

# 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 -d

Installing on Linux

# 1. Download the RackPeek binary

wget https://github.com/Timmoth/RackPeek/releases/download/RackPeek-0.0.3/rackpeek_0_0_3_linux-x64 -O rackpeek

# Or with curl:

curl -L https://github.com/Timmoth/RackPeek/releases/download/RackPeek-0.0.3/rackpeek_0_0_3_linux-x64 -o rackpeek

# 2. Make the binary executable

chmod +x rackpeek

# 3. Move RackPeek into your PATH

sudo mv rackpeek /usr/local/bin/rpk

# 4. Create the global config directory
# RackPeek expects a `config` folder **next to the binary**, so create it in `/usr/local/bin`:

sudo mkdir -p /usr/local/bin/config

# 5. Create the empty `config.yaml`

sudo touch /usr/local/bin/config/config.yaml

# 6. Test the installation

rpk --help

Core Values

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

Release Status

[x] Ideation
[x] Development
[x] Alpha Release
[~] Beta Release
[ ] v1.0.0 Release

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.

User Questionnaire

Command Tree

  • 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
      • add - Add a CPU to a specific server
      • set - Update configuration of a server CPU
      • del - Remove a CPU from a server
    • drive - Manage drives attached to a server
      • add - Add a storage drive to a server
      • set - Update properties of a server drive
      • del - Remove a drive from a server
    • gpu - Manage GPUs attached to a server
      • add - Add a GPU to a server
      • set - Update properties of a server GPU
      • del - Remove a GPU from a server
    • nic - Manage network interface cards (NICs) for a server
      • add - Add a NIC to a server
      • set - Update properties of a server NIC
      • del - Remove a NIC from 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
      • add - Add a port to a switch
      • set - Update a switch port
      • del - Remove a port from a 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
      • add - Add a port to a router
      • set - Update a router port
      • del - Remove a port from 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
      • add - Add a port to a firewall
      • set - Update a firewall port
      • del - Remove a port from 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
    • summary - Show a hardware report for all access points
    • add - Add a new access point
    • list - List all access points
    • get - Retrieve an access point by name
    • describe - Show detailed information about an access point
    • set - Update properties of an access point
    • del - Delete an access point
    • ups - Manage UPS units
    • summary - Show a hardware report for all UPS units
    • add - Add a new UPS unit
    • list - List all UPS units
    • get - Retrieve a UPS unit by name
    • describe - Show detailed information about a UPS unit
    • set - Update properties of a UPS unit
    • del - Delete a UPS unit
    • 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
      • add - Add a CPU to a desktop
      • set - Update a desktop CPU
      • del - Remove a CPU from a desktop
    • drive - Manage storage drives attached to desktops
      • add - Add a drive to a desktop
      • set - Update a desktop drive
      • del - Remove a drive from a desktop
    • gpu - Manage GPUs attached to desktops
      • add - Add a GPU to a desktop
      • set - Update a desktop GPU
      • del - Remove a GPU from a desktop
    • nic - Manage network interface cards (NICs) for desktops
      • add - Add a NIC to a desktop
      • set - Update a desktop NIC
      • del - Remove a NIC from a desktop
    • 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
      • add - Add a CPU to a Laptop
      • set - Update a Laptop CPU
      • del - Remove a CPU from a Laptop
    • drive - Manage storage drives attached to Laptops
      • add - Add a drive to a Laptop
      • set - Update a Laptop drive
      • del - Remove a drive from a Laptop
    • gpu - Manage GPUs attached to Laptops
      • add - Add a GPU to a Laptop
      • set - Update a Laptop GPU
      • del - Remove a GPU from a Laptop
    • 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