Open source · MIT licensed · No telemetry phoned home

The homelab dashboard that reads your server directly.

Host telemetry straight from /proc and /sys, automatic Docker container discovery, HTTP endpoint health checks, and an app launcher — one static binary, no agents, no external database.

Guardian's actual dashboard — not a mockup. Click a tab to explore.

192.168.0.26:3001/#/dashboard
Guardian Dashboard Overview Guardian App Launcher Guardian Metric Telemetry Guardian Process Monitor Guardian Endpoint Health Prober

Running in under a minute

Copy one command, or grab the full compose file below.

Memory (idle) ~40 MB
Database None
Update model SSE push
Architectures amd64 / arm64
$ curl -sSL https://raw.githubusercontent.com/vineetkishore01/Guardian/main/docker-compose.yml.example -o docker-compose.yml && docker compose up -d
services:
  guardian:
    image: ghcr.io/vineetkishore01/guardian:latest
    container_name: guardian
    restart: unless-stopped
    ports:
      - "3001:3001"
    volumes:
      # Docker socket — container discovery, live stats, logs, restart, prune
      - /var/run/docker.sock:/var/run/docker.sock
      # Host telemetry (procfs & sysfs) — CPU, RAM, PSI pressure, thermals, fans
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      # Host identification — real distro name & hostname
      - /etc/os-release:/host/etc/os-release:ro
      - /etc/hostname:/host/etc/hostname:ro
      # Host storage (rslave discovers submounts like /mnt, /media)
      - /:/host/root:ro,rslave
      # Persisted icons, bookmarks, settings, 30-day history, logs
      - guardian_data:/data
    environment:
      - NODE_ENV=production
      - PORT=3001
      - HOST_PROC=/host/proc
      - HOST_SYS=/host/sys
      - HOST_ETC=/host/etc
      - HOST_ROOT=/host/root
      # Optional: seed LAN / Tailscale launch IPs for app tiles
      # - SERVER_IP=192.168.1.100
      # - TAILSCALE_IP=100.x.y.z
      # Optional: enable guarded shutdown/reboot (off by default)
      # - ENABLE_POWER_CONTROLS=false
    deploy:
      resources:
        limits:
          memory: 128M
          cpus: '0.50'

volumes:
  guardian_data:
    name: guardian_data
# Multi-architecture support is native: linux/arm64 & linux/amd64

Built for homelabs. Engineered for efficiency.

No cloud telemetry. No heavy JavaScript bundles. Just kernel VFS reads and Server-Sent Events.

Real kernel VFS telemetry

Directly reads /proc/stat, /proc/meminfo, /proc/diskstats, and /sys/class/hwmon. Surfaces I/O wait stalls and thermal throttling that coarse guest monitors miss entirely.

/proc/stat PSI pressure iowait %

Zero external database

No PostgreSQL, InfluxDB, or SQLite locks. Guardian keeps a tiered in-memory ring buffer (15s samples for 6h, 5m for 7d, 1h for 30d) that persists to a single JSON file across restarts.

< 40MB RAM 30-day history Zero config

Single-loop SSE push

No aggressive 1-second browser polling. One centralized collector loop samples on cadence and streams immutable snapshots to every open tab over Server-Sent Events.

SSE streams Flat CPU usage Sub-second latency

Auto-discovered app tiles

Inspects the Docker daemon socket to detect running containers automatically. Ships with icons and categories for 45+ popular self-hosted apps, including Jellyfin, Sonarr, Radarr, and Home Assistant.

45+ presets In-tile widgets LAN / Tailscale

Automated endpoint probing

Continuously probes exposed container ports on a 60-second cycle. Catches HTTP latency spikes, redirect loops, 401/403 checkpoints, and silent backend crashes before you notice them.

Auto port discovery Latency ms Status codes

Guarded host power control

Reboot or power off your bare-metal server from the header. Disabled by default, and gated behind typing the exact hostname to prevent accidental shutdowns.

Host systemd SysRq trigger Hostname gate

How Guardian stacks up

Compared against traditional homelab dashboards and monitoring tools.

Feature / Capability Guardian Portainer Netdata Homer / Dashy
External database needed None Embedded local DB Custom DB engine None (YAML only)
Real host telemetry (/proc, /sys) Full VFS precision Container stats only Full telemetry None
Streaming updates Server-Sent Events REST polling WebSocket Static / fetch
Built-in app launcher Auto-discovered + widgets Management only Charts only Manual YAML setup
Multi-architecture image amd64 + arm64 (Pi) Yes Yes Yes
Single-command install One curl + compose up Yes Yes Manual YAML config first

Runs on any modern Linux server

From a fanless mini-PC to a multi-socket rack, Guardian delivers identical zero-dependency performance.

Ubuntu 20.04 / 22.04 / 24.04 LTS
Debian 11 / 12 / 13
Proxmox VE (Bare Metal & LXC)
TrueNAS SCALE
Unraid
Alpine Linux
Arch Linux / Manjaro
Raspberry Pi OS (Pi 4 & 5)
Intel Alder Lake-N (N100 / N95 / N200)
AMD Ryzen / EPYC Homelabs

Deploy Guardian in 5 seconds

No signups, no cloud logins, no config files to write. Copy the command, start the container, open your browser.

Get Started Now
Copied to clipboard!