GitHunt
DE

denisakp/pulseguard

An open-source monitoring tool for SSL certificates, domain expirations, TCP services, and cronjobs โ€” with alerting and status pages.

PulseGuard Logo

PulseGuard

Simple, self-hosted uptime monitoring. Check if your websites and services are up.

License
Go
Vue
GitHub Stars

PulseGuard monitors your websites, APIs, and services. If something goes down, you get notified. That's it.

No complex setup. No overwhelming dashboards. Just pure uptime monitoring.

PulseGuard Dashboard


๐Ÿค” Why PulseGuard?

I started exploring monitoring stacks like Prometheus, Grafana, Tempo, and AlertManager. But configuring dozens of config files just to check if my websites were up seemed crazy.

So I built this during my internship in 2023 with TypeScript and NestJS. Later, I rewrote it in Go while learning the language. Now it's a simple, straightforward monitoring tool that just works.


Get Started in 30 Seconds

git clone https://github.com/denisakp/pulseguard.git
cd pulseguard
docker compose up -d

Open http://localhost:8080 and log in with:

  • Email: admin@pulseguard.test
  • Password: puls3gu@rd

Change the password on first login.
PulseGuard Login Screen

โœจ What You Get

  • ๐ŸŒ Monitor Websites โ€“ HTTP/HTTPS checks
  • ๐Ÿ”Œ Monitor Services โ€“ TCP port checks
  • ๐Ÿ”” Get Notified โ€“ Email, Slack, Webhooks
  • ๐Ÿ“Š Track Incidents โ€“ See when things went wrong
  • ๐ŸŒ Status Page โ€“ Share status with customers
  • ๐Ÿ› ๏ธ Maintenance Windows โ€“ Avoid false alarms during updates
  • ๐Ÿท๏ธ Organize โ€“ Tag and group monitors
  • ๐Ÿ” Secure โ€“ 2FA support

Create and Monitor Resources


๐Ÿ“‘ Table of Contents


Installation

git clone https://github.com/denisakp/pulseguard.git
cd pulseguard
cp .env.example .env
docker compose up -d

Access at http://localhost:8080

The docker-compose includes everything: app, database, Redis, and reverse proxy.


How It Works

  1. Add Monitors โ€“ Tell PulseGuard what to check (websites, APIs, services)
  2. Automatic Checks โ€“ It checks every 5 minutes by default (customizable)
  3. Track Status โ€“ See uptime history and incident timeline
  4. Get Alerts โ€“ Email notifications when things go down
  5. Status Page โ€“ Share public status with customers

That's it. No complexity.

Incident Tracking and Timeline

Notification Channels Setup

Maintenance Windows

Public Status Page


Configuration

Environment Variables

# Database
DATABASE_URL=postgres://user:password@host:5432/pulseguard
REDIS_URL=localhost:6379

All options in .env.example



๐Ÿ’ญ Feedback & Testing

We're actively developing PulseGuard and value your input! Help us improve by:

  • Share Your Feedback (Anonymous form) โ€“ Tell us what you think about the UI, features, and user experience
  • Report Bugs โ€“ Found something broken? Open an issue
  • Suggest Features โ€“ Have ideas? Start a discussion

Your feedback helps shape the future of PulseGuard. The feedback form is completely anonymous and takes about 2 minutes.

๐Ÿ’ฌ Contributing

Found a bug? Have an idea? Let us know!

We welcome pull requests. Please read CONTRIBUTING.md first.


๐Ÿ“„ License

MIT License โ€“ See LICENSE for details.

You can use PulseGuard for commercial or personal projects.


๐Ÿ“š More Info


โฌ† Back to top

Built with โค๏ธ by denisakp

denisakp/pulseguard | GitHunt