---

Visualization dashboard · node distribution, real-time latency, region coloring, fly-line links, latency leaderboard and live alerts
## Screenshots
| Admin Dashboard | Host Management |
|:---:|:---:|
|  |  |
| Statistics Board | Alert Records |
|:---:|:---:|
|  |  |
## Features
| Module | Description |
|---|---|
| 🎯 **Host Monitoring** | Single / batch host monitoring with live online status, latency and packet loss. Enable/disable, ping now, streaming ping |
| 📊 **Statistics Board** | `1h / 1d / 3d / 7d / 15d / 30d` views with latency and packet-loss trend charts |
| 🗺️ **Visualization Dashboard** | China / world map, region coloring, node fly-lines, monitoring center, fullscreen, public visitor toggle |
| 🌏 **Geo Location** | Automatic domain→IP resolution, multi-source IP geolocation (ip-api / ipwho.is / ip2location …), auto-complete of missing locations |
| 🔔 **Alerts** | ServerChan, DingTalk robot, Webhook, scheduled reports; trigger on state change or sustained anomaly |
| 🛠️ **Admin Console** | Fuzzy search, status filters, pagination, import/export, system logs, database backup & restore |
| 🐳 **Easy Deployment** | Local run / `docker compose` / multi-arch Docker Hub image (`amd64` + `arm64`) |
## Quick Start
### Option 1 · Docker Compose (MySQL + Redis)
```bash
git clone https://github.com/JunWan666/ping-monitor.git
cd ping-monitor/docker
docker compose up -d
```
Open `http://localhost:8000` — the first visit guides you through creating an admin account.
### Option 2 · Single container (SQLite, lightweight)
```bash
docker run -d --name ping-monitor \
-p 8000:8000 \
-v $PWD/data:/app/data \
-e DISABLE_NOTIFICATIONS=true \
tannic666/ping-monitor:v1.7.0
```
### Option 3 · Local development
```bash
# Backend
cd backend && pip install -r requirements.txt && python main.py
# Frontend (new terminal)
cd frontend && npm install && npm run dev
```
## Why Ping Monitor?
| Capability | Ping Monitor | Uptime Kuma | Gatus |
|---|:---:|:---:|:---:|
| ICMP ping latency / packet-loss focus | ✅ | Partial | Partial |
| Visualization dashboard (map + fly-lines) | ✅ | ❌ | ❌ |
| Automatic IP geolocation | ✅ | ❌ | ❌ |
| Host import / export | ✅ | Partial | ❌ |
| Chinese UI built-in | ✅ | i18n | i18n |
| Deployment | Docker / bare metal | Docker | Docker |
## Tech Stack
**Backend** · FastAPI · SQLAlchemy · APScheduler · ping3 · Redis (optional) · MySQL / SQLite
**Frontend** · Vue 3 · Vue Router · Element Plus · ECharts · Vite
**Deploy** · Multi-stage Docker build · Nginx
## Documentation
Full documentation is currently in Chinese — see the [Chinese README](README.md):
- [Deployment on Docker + Debian 11](docs/DEPLOYMENT_DOCKER_DEBIAN11.md)
- [MySQL + Redis deployment](docs/DEPLOYMENT_MYSQL_REDIS.md)
- [Environment variables](README.md#环境变量) · [API overview](README.md#api-概览)
## License
[Apache-2.0](LICENSE)
---
**If this project helps you, please consider giving it a ⭐ Star — it really helps!**
[](https://star-history.com/#JunWan666/ping-monitor&Date)