Simple, self-hosted uptime monitoring. Check if your websites and services are up.
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.
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.
git clone https://github.com/denisakp/pulseguard.git
cd pulseguard
docker compose up -dOpen http://localhost:8080 and log in with:
- Email:
[email protected] - Password:
puls3gu@rd
- 🌐 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
git clone https://github.com/denisakp/pulseguard.git
cd pulseguard
cp .env.example .env
docker compose up -dAccess at http://localhost:8080
The docker-compose includes everything: app, database, Redis, and reverse proxy.
- Add Monitors – Tell PulseGuard what to check (websites, APIs, services)
- Automatic Checks – It checks every 5 minutes by default (customizable)
- Track Status – See uptime history and incident timeline
- Get Alerts – Email notifications when things go down
- Status Page – Share public status with customers
That's it. No complexity.
# Database
DATABASE_URL=postgres://user:password@host:5432/pulseguard
REDIS_URL=localhost:6379
All options in .env.example
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.
Found a bug? Have an idea? Let us know!
- GitHub Issues – Report bugs or request features
- GitHub Discussions – Ask questions
We welcome pull requests. Please read CONTRIBUTING.md first.
MIT License – See LICENSE for details.
You can use PulseGuard for commercial or personal projects.
- Quick Start Guide – Detailed setup walkthrough
- Contributing Guidelines – How to help
- Architecture Docs – How it works under the hood
- Security Policy – Reporting security issues
Built with ❤️ by denisakp