"As a dev-ops engineer, I want a simple way to monitor my microservices without paying for Pingdom."
Uptime-Pulse is a lightweight, premium, and open-source uptime monitoring solution. Built for speed, aesthetic excellence, and simplicity. Monitor your microservices, track latency, and receive downtime alerts without the enterprise price tag.
- 💎 Premium Dashboard: Stunning dark theme with glassmorphism, pulse animations, and interactive elements.
- 🕒 24h Visual History: Segmented status bars providing a 24-hour lookback at a glance.
- 📈 Latency Tracking: Real-time measurement of response times with historical averages.
- 🔔 Proactive Alerts: Integrated notification system for downtime and recovery.
- 🤖 Automation First: GitHub Actions workflow included for hands-free 24/7 monitoring.
- 📦 Zero Heavy Dependencies: Simple JSON file-based storage. No complex database migrations.
git clone https://github.com/bradmca/uptime-pulse.git
cd uptime-pulse
npm installCopy .env.example to .env and set your deployment domain and secrets.
cp .env.example .envnpm run devNavigate to http://localhost:3000.
- Core: Next.js 15 (App Router)
- Language: TypeScript
- Styles: Vanilla CSS with Modern Design Tokens
- CI/CD: GitHub Actions
- Icons: Custom Hand-crafted SVGs
To run checks every 5 minutes automatically:
- Deploy to Vercel or Netlify.
- Go to your GitHub Repository Settings > Secrets and variables > Actions.
- Add
APP_DOMAIN(e.g.,uptime-pulse-demo.vercel.app). - Add
API_SECRET(optional). - The
Uptime Checkaction will now run every 5 minutes and keep your dashboard alive!
├── .github/workflows/ # CI/CD and Automation
├── src/
│ ├── app/ # Next.js Routes & Dashboard
│ ├── components/ # Glassmorphic UI Components
│ ├── lib/ # Health Checker, Storage, Notifications
│ └── types/ # Type Definitions
├── data/ # Persistent JSON Storage
└── public/ # Static Assets
We love contributions! Please read our CONTRIBUTING.md to get started.
Found a bug? See our SECURITY.md.
Distributed under the MIT License. See LICENSE for more information.
⭐ If this project helps you, please give it a star!