Skip to content

Adamcode11/pulsight

Repository files navigation

Pulsight

Lightweight, self-hosted server monitoring with alerts, Docker stats, HTTP uptime checks, and a public status page. One process. Two minutes to deploy.

Pulsight Dashboard

Why Pulsight?

  • Real-time CPU, memory, disk, network monitoring
  • Docker/Podman container stats built-in
  • HTTP endpoint uptime checks with response time tracking
  • Alert notifications (Slack, Discord, Email, Telegram, Webhooks)
  • Public status page for your users
  • Deploy in under 2 minutes with Docker
  • Lightweight — single Node.js process, SQLite storage, no external database

Quick Start

Docker (recommended)

curl -O https://raw.githubusercontent.com/Adamcode11/pulsight/main/docker-compose.yml
docker compose up -d

Open http://localhost:9090 and create your admin account.

Manual

git clone https://github.com/Adamcode11/pulsight.git
cd pulsight
npm install
node src/setup.js # Create admin user
node src/server.js # Start hub

Install Agent on Remote Servers

PULSIGHT_HUB=https://your-hub:9090 PULSIGHT_TOKEN=your-key node src/agent.js

Configuration

Variable Default Description
PULSIGHT_PORT 9090 Hub HTTP port
PULSIGHT_DB ./data/pulsight.db SQLite database path
PULSIGHT_CERT TLS certificate path
PULSIGHT_KEY TLS private key path
PULSIGHT_JWT_SECRET random Secret for JWT tokens
PULSIGHT_HUB (Agent) Hub URL
PULSIGHT_TOKEN (Agent) API key
PULSIGHT_INTERVAL 30000 (Agent) Collection interval ms

Status Page

A public status page is served at http://localhost:9091/status (no auth required). Customize the title and description in Settings.

Reverse Proxy

Caddy (automatic HTTPS)

pulsight.yourdomain.com {
  reverse_proxy localhost:9090
}

Nginx

See docs/reverse-proxy.md

License

MIT

About

Lightweight, self-hosted server monitoring with alerts, Docker stats, and status page

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages