Ingen beskrivning

Tim Jones 1f4c9fa7ea Merge pull request #350 from VirSanctus/bug/328-case-d 2 dagar sedan
.devcontainer 4f7a130d50 feat: Add devcontainer (#231) 7 månader sedan
.github 33a2a1a4cf Prep the v2.2.0 release: bump versions, repair docs plumbing, add release guide 4 dagar sedan
RackPeek 33a2a1a4cf Prep the v2.2.0 release: bump versions, repair docs plumbing, add release guide 4 dagar sedan
RackPeek.Domain 1f4c9fa7ea Merge pull request #350 from VirSanctus/bug/328-case-d 2 dagar sedan
RackPeek.Mcp d51415ae81 Fix three discovery defects found in review 3 dagar sedan
RackPeek.Web 8900008c55 Let names and identity improve as collectors learn more 2 dagar sedan
RackPeek.Web.Viewer 8900008c55 Let names and identity improve as collectors learn more 2 dagar sedan
Shared.Rcl fbd0b2b511 Document the discovery changes, and ignore the local triage scratch file 2 dagar sedan
Tests 1f4c9fa7ea Merge pull request #350 from VirSanctus/bug/328-case-d 2 dagar sedan
Tests.Discovery d801aaa685 Never let an unbuildable address take down the page rendering it 2 dagar sedan
Tests.E2e 5f99c51583 Use invented host names in the breadcrumb test's documentation 3 dagar sedan
Tests.Mcp d51415ae81 Fix three discovery defects found in review 3 dagar sedan
assets 11e5ac1fa4 Added readme banner 7 månader sedan
docs 33a2a1a4cf Prep the v2.2.0 release: bump versions, repair docs plumbing, add release guide 4 dagar sedan
schemas 8900008c55 Let names and identity improve as collectors learn more 2 dagar sedan
vhs 6acc554424 fix: use Windows-safe screenshot filenames 1 vecka sedan
.dockerignore 8515ffa681 Added resource cards 7 månader sedan
.editorconfig 1229629519 Added editor config / linter / formatter rules / ssh / hosts exporters (#237) 7 månader sedan
.gitignore 1adc1685ba Stop the Git service test racing every other test that registers services 2 dagar sedan
AGENTS.md 33a2a1a4cf Prep the v2.2.0 release: bump versions, repair docs plumbing, add release guide 4 dagar sedan
Directory.Build.props 1229629519 Added editor config / linter / formatter rules / ssh / hosts exporters (#237) 7 månader sedan
LICENSE 600d2707cc Initial commit 8 månader sedan
README.md 33a2a1a4cf Prep the v2.2.0 release: bump versions, repair docs plumbing, add release guide 4 dagar sedan
RackPeek.sln e1a7a6f5ad Add MCP server: manage, query and build the inventory from AI assistants 5 dagar sedan
generate-docs.sh 33a2a1a4cf Prep the v2.2.0 release: bump versions, repair docs plumbing, add release guide 4 dagar sedan
generate-oui-table.py f0199d21f9 Identify swept hosts by service banner, MAC vendor and open ports 3 dagar sedan
justfile e1a7a6f5ad Add MCP server: manage, query and build the inventory from AI assistants 5 dagar sedan

README.md

RackPeek demo

Version Status Join our Discord Live Demo Docker Hub

RackPeek is a webui & 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 or drowning in unnecessary metadata or process. It can auto-discover what's already running (rpk discover system / docker / proxmox / network), and its built-in MCP server lets AI assistants query and manage your inventory.

The roadmap for the next wave of features is actively being discussed, please make your voice heard!

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
mkdir -p config
sudo chown 1654:1654 config
docker run -d \
  --name rackpeek \
  -p 8080:8080 \
  -v $(pwd)/config:/app/config:Z \
  aptacode/rackpeek:latest

# RackPeek runs as UID/GID 1654:1654 inside the container, so a bind-mounted
# host directory must be writable by that user. The :Z suffix is needed on
# SELinux-enabled systems such as Fedora, RHEL, and CentOS; it can be omitted
# on systems without SELinux.

# To verify the container user:
docker exec rackpeek id

# 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
    healthcheck:
      test: ["CMD", "curl", "-fsS", "http://localhost:8080/health"]
      interval: 30s
      timeout: 5s
      start_period: 15s
      retries: 3

volumes:
  rackpeek-config:

Docs

Questionnaire

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

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.

Development Docs