Sem descrição

Tim Jones 6493437773 Merge pull request #320 from Timmoth/staging há 1 dia atrás
.devcontainer 4f7a130d50 feat: Add devcontainer (#231) há 6 meses atrás
.github 70b495f9ee v1.4.0 touch up há 4 meses atrás
RackPeek b98ea416b0 Bump version to 2.1.0 há 1 dia atrás
RackPeek.Domain b98ea416b0 Bump version to 2.1.0 há 1 dia atrás
RackPeek.Web 002574939e Merge pull request #327 from Timmoth/bugfix/304-docs-reverse-proxy há 1 dia atrás
RackPeek.Web.Viewer 940fd4a474 Fix docs page behind a reverse proxy (#304) há 1 dia atrás
Shared.Rcl bc3cda4b30 Add E2E coverage for tag, label and connections pages há 1 dia atrás
Tests 0be51e6e07 Compare resource names case-insensitively on delete and rename (#328) há 1 dia atrás
Tests.E2e bc3cda4b30 Add E2E coverage for tag, label and connections pages há 1 dia atrás
assets 11e5ac1fa4 Added readme banner há 7 meses atrás
docs 4328c888fe Regenerate CLI docs with 'rpk other' command tree há 1 dia atrás
schemas edb1b51c6c Sync published JSON schemas with runtime behavior (#310, #311) há 1 dia atrás
vhs 6acc554424 fix: use Windows-safe screenshot filenames há 1 dia atrás
.dockerignore 8515ffa681 Added resource cards há 7 meses atrás
.editorconfig 1229629519 Added editor config / linter / formatter rules / ssh / hosts exporters (#237) há 6 meses atrás
.gitignore 48761546ca Ignore ide / local files há 7 meses atrás
AGENTS.md 9316f05bd5 Fix ResourceCollectionMerger for Other; audit consistency across features and docs há 1 dia atrás
Directory.Build.props 1229629519 Added editor config / linter / formatter rules / ssh / hosts exporters (#237) há 6 meses atrás
LICENSE 600d2707cc Initial commit há 8 meses atrás
README.md 1c3febba5a Merge pull request #317 from eliware/docs/210-fix-docker-bind-mount-permissions há 1 dia atrás
RackPeek.sln 2f2671241f Added E2E webui tests há 7 meses atrás
generate-docs.sh 70b495f9ee v1.4.0 touch up há 4 meses atrás
justfile a969532903 Updated justfile to use locally build CLI version for easy testing há 7 meses atrás

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.

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