A self-hosted uptime monitoring service built with Go (Echo v4) and Vue 3. Monitor your websites, APIs, and services — get instant Discord notifications when something goes down or comes back up.
- 🔍 HTTP/HTTPS uptime monitoring — ping your endpoints at configurable intervals
- 🔔 Discord webhook notifications — instant alerts on status change (down / recovered)
- 📊 Dashboard — view real-time status, response time, and uptime history
- 🔐 JWT authentication — secure API and dashboard access
- 🗄️ Multi-database support — MySQL or PostgreSQL via GORM
- 🧩 Modular architecture — Domain-Driven Design, easy to extend
- ⚡ Single binary — Go backend serves the Vue frontend from
static/
The easiest way to run ping-uptime is using Docker.
Run the ping-uptime on your Linux system without Docker.
curl -fsSL https://raw.githubusercontent.com/terarush/ping-uptime/main/install.sh | bashRun the container using the following command, passing your .env file:
docker run -d \
--name ping-uptime \
-p 8080:8080 \
rafia9005/ping-uptime:latestRun the container with custom volume mounts for configuration:
docker run -d \
--name ping-uptime \
-p 8081:8080 \
-e DB_NAME=/app/data/ping-uptime \
-v $(pwd)/data:/app/data \
rafia9005/ping-uptime:latest