Ingen beskrivning

Tim Jones a1bc5186cb Merge pull request #110 from Timmoth/Timmoth-patch-1 1 månad sedan
.github 84c28e5ebc Updated build pipeline 1 månad sedan
.idea 1154a08e04 Added blazor wasm demo 1 månad sedan
.run 6de3c52626 Refactored project 1 månad sedan
RackPeek 6de3c52626 Refactored project 1 månad sedan
RackPeek.Domain fbd1f70bc2 Added notes to all resources 1 månad sedan
RackPeek.Web fbd1f70bc2 Added notes to all resources 1 månad sedan
RackPeek.Web.Viewer fbd1f70bc2 Added notes to all resources 1 månad sedan
Shared.Rcl fbd1f70bc2 Added notes to all resources 1 månad sedan
Tests fbd1f70bc2 Added notes to all resources 1 månad sedan
vhs ff983fd07a Fixed permissions issue in dockerfile 1 månad sedan
.DS_Store 64510509cc Highlight input field backgrounds 1 månad sedan
.dockerignore 8515ffa681 Added resource cards 2 månader sedan
.gitignore f1d0198417 Include config dir in wwwroot 1 månad sedan
CommandIndex.md a618d639ac Updated readme 2 månader sedan
Commands.md dbae0785d6 Merge branch 'blazor-wasm-demo' of https://github.com/Timmoth/RackPeek into blazor-wasm-demo 1 månad sedan
LICENSE 600d2707cc Initial commit 2 månader sedan
README.md 0e07e73bcf Revise README for clarity and user engagement 1 månad sedan
RackPeek.sln 1154a08e04 Added blazor wasm demo 1 månad sedan
generate_commands_markdown.sh c55e5f6da5 added descriptions to command index 2 månader sedan
notes.md f387a74098 Fixed broken services link on the homepage 1 månad sedan
servers.yaml 29997eebf2 Added command markdown script 2 månader sedan

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