Skip to content

Repository files navigation

Pulseboard (WIP)

Pulseboard is a self-hosted device monitoring dashboard: a Next.js UI + API with a lightweight Windows/PowerShell agent that reports health metrics and runs a small allowlisted set of diagnostics.

Note: this is a personal/WIP project and not production-ready. Use at your own risk.

Features

  • Fleet dashboard (online/offline, last seen)
  • Live updates via SSE + polling fallback
  • Metrics + history (CPU/RAM/Disk/Network)
  • Temperature telemetry (best-effort; depends on sensors/permissions)
  • Local-only admin login (single account, no DB, no OAuth)

Safety model (agent)

  • No arbitrary command execution / no free-form scripts
  • Jobs are allowlisted and validated server-side
  • Agent talks only to the Pulseboard API

Screenshots

Pulseboard dashboard Pulseboard device view

Quickstart (local)

From the repo root:

npm install
npm run dev

Open http://localhost:3000 and sign in at /login.

Create admin creds (apps/web/.env.local)

  1. Choose a username (PULSEBOARD_ADMIN_USER)
  2. Generate a bcrypt hash (PULSEBOARD_ADMIN_PASS_HASH)
  3. Generate a random session secret (PULSEBOARD_SESSION_SECRET)

Generate a bcrypt hash (stored as b64:... to avoid $... expansion issues in dotenv tooling):

node -e "require('bcrypt').hash(process.argv[1], 10).then(h=>console.log('b64:'+Buffer.from(h).toString('base64')))" "your-password-here"

Generate a session secret:

node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"

Example apps/web/.env.local:

PULSEBOARD_ADMIN_USER=admin
PULSEBOARD_ADMIN_PASS_HASH=b64:PASTE_OUTPUT_FROM_BCRYPT_COMMAND
PULSEBOARD_SESSION_SECRET=PASTE_OUTPUT_FROM_SECRET_COMMAND

Agent setup (bundle)

  • Set the web server URL in dist/agent.config.json (or agent.config.json) and start the agent.
  • The agent POSTs heartbeats to /api/agent/heartbeat; the UI listens via /api/events.

Author

Kristof (likeBloodMoon)

About

Pulseboard is a self-hosted, full-stack device monitoring and remote diagnostics platform with real-time dashboards and a lightweight PowerShell agent. It securely tracks system health, collects metrics, and runs safe, allow-listed diagnostics without bundling low-level drivers, making it reliable, transparent, and security-friendly.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages