Pingwatch monitors Ping, TCP, DNS, SSL, Domains and Game Servers with status, history and incidents.
317
# Pingwatch
**Self-hosted uptime monitoring for NAS, storage, servers, DNS, APIs, and game servers.**
Pingwatch is a lightweight, infrastructure-focused uptime monitoring platform designed to help teams monitor the availability, response time, and historical health of critical infrastructure from a single dashboard.
Monitor NAS devices, storage arrays, servers, network endpoints, DNS records, APIs, WebSocket services, gRPC services, and 100+ game-server protocols without installing agents on the monitored systems.
> **Docker image:** This image contains the Pingwatch **web application**. For the complete deployment, use Docker Compose so that MySQL, health checks, networking, and monitoring components work together correctly.
## Supported Architectures
- `linux/amd64`
- `linux/arm64`
## Image Tags
| Tag | Description |
| --- | --- |
| `latest` | Latest build from the `main` branch |
| `1.2.0` | Specific Pingwatch application version |
| `sha-<git>` | Immutable build identified by Git commit |
---
# Quick Start
The easiest way to install Pingwatch is using the official installation script:
```bash
curl -fsSL https://raw.githubusercontent.com/superstack-oss/Pingwatch/main/install.sh | bash -s -- --yes
Or clone the repository and start the application using Docker Compose:
git clone https://github.com/superstack-oss/Pingwatch.git
cd Pingwatch
cp .env.example .env
docker compose up --build
Once the containers are running, open:
http://127.0.0.1:8000
MySQL is started automatically by Docker Compose, and the application waits for the database health check before starting.
Know when your infrastructure is reachable.
Infrastructure can fail quietly. A NAS, storage array, hypervisor, DNS service, API, or game server can become unreachable without anyone noticing until a backup, application, or user is affected.
Pingwatch continuously checks the infrastructure that matters to you and provides:
Pingwatch focuses on availability and reachability, rather than attempting to replace a full APM, SIEM, or network-management platform.
Monitor infrastructure using the check that makes sense for each device or service:
ws:// and wss:// WebSocket handshakes.SERVING.The dashboard provides a simple operational view with:
UpDownWarningUnknownPausedEvery check records round-trip time.
Configure latency thresholds and identify endpoints where response time is increasing before they become completely unavailable.
Create and manage monitored configuration items with:
Administrators can also import devices using CSV.
Keep monitoring samples for the configured retention period.
Review availability over:
For each monitored device, view:
Get a fleet-wide view of your infrastructure with:
Repeated monitoring failures can be associated with incidents and work notes, allowing operators to preserve operational context instead of losing troubleshooting information in chat or email.
Pingwatch is designed to stay simple:
The Pingwatch host performs the monitoring checks and stores the results in MySQL.
| Monitor | Description |
|---|---|
| Ping / ICMP | Checks whether a host or IP responds to ICMP |
| TCP Port | Checks whether a TCP port accepts connections |
| DNS | Performs DNS resolution against a selected resolver |
| WebSocket | Validates ws:// or wss:// connections |
| gRPC | Checks the gRPC health protocol |
| Game Server | Queries 100+ game-server protocols |
The asset type remains independent from the monitor type. For example, a storage array can be monitored using Ping or TCP Port, while an API can be monitored using TCP, WebSocket, or another supported check.
Pingwatch provides a clean operational dashboard focused on infrastructure availability.
The dashboard allows operators to quickly identify:
Selecting a device opens its detailed monitoring view with status, response time, availability, outages, and historical information.
Pingwatch can also check public HTTPS endpoints for certificate and domain information.
Certificate monitoring can provide visibility into:
This helps identify certificate and domain-expiry risks before they affect availability.
┌─────────────────────┐
│ Pingwatch UI │
└──────────┬──────────┘
│
▼
┌─────────────────────┐
│ FastAPI App │
└──────────┬──────────┘
│
┌───────────────┴───────────────┐
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Monitor Engine │ │ MySQL │
└────────┬────────┘ └─────────────────┘
│
▼
┌──────────────────────────────┐
│ NAS / Storage / Servers │
│ DNS / APIs / Game Servers │
│ TCP / WebSocket / gRPC │
└──────────────────────────────┘
Provide:
Administrators can also upload devices through CSV.
The background monitoring engine periodically checks every configured device according to its monitoring interval.
Each check records:
Monitoring samples are retained according to the configured retention period.
The dashboard, device details, Analytics, and Incidents sections provide visibility into current and historical infrastructure health.
Monitor NAS devices used for:
Identify unreachable NAS devices before they affect dependent workloads.
Monitor storage arrays and storage-related endpoints alongside the rest of your infrastructure.
Useful for environments containing:
Monitor application servers, utility servers, hypervisors, and infrastructure hosts using ICMP or TCP-port checks.
Monitor network endpoints and infrastructure devices using ICMP and supported service checks.
Monitor DNS names and validate that required DNS records can be resolved successfully.
Monitor service endpoints and infrastructure services using TCP, WebSocket, gRPC, and other supported checks.
Monitor more than 100 game-server protocols, including popular Minecraft, Source, and Bedrock environments.
Run Pingwatch locally to monitor:
Maintain a clear operational view of critical infrastructure without deploying a large observability platform.
Pingwatch is designed to run with Docker Compose.
cp .env.example .env
docker compose up --build
The Compose deployment starts the required services, including MySQL, and waits for the database health check before starting the application.
Open:
http://127.0.0.1:8000
docker compose up -d --build
docker compose logs -f
docker compose down
Important: Copy
.env.exampleto.envand review the configuration before starting the application.
For environments where ICMP access to LAN devices is important, Pingwatch can also be run directly on the host.
This is particularly useful with macOS Docker Desktop, where containers may not have the same native ICMP access to the LAN as the host operating system.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000
Point the application configuration to your MySQL instance.
TCP, DNS, WebSocket, gRPC, and game-server checks can run normally when the required network connectivity is available.
Focus on the availability signals that operators actually need:
No agents need to be installed on monitored devices.
The Pingwatch host performs the checks and MySQL stores the monitoring history.
Run Pingwatch inside your own environment.
Your:
remain under your control.
Designed specifically for infrastructure monitoring rather than application tracing.
Monitor:
A straightforward status model:
UP
DOWN
WARNING
UNKNOWN
PAUSED
Historical information helps answer questions such as:
Pingwatch consists of:
| Component | Purpose |
|---|---|
| Web Application | FastAPI-based Pingwatch application and dashboard |
| Monitoring Engine | Performs scheduled infrastructure checks |
| MySQL | Stores devices, monitoring results, history, and operational data |
| Docker Compose | Provides the recommended containerized deployment |
The Docker image provided here is the web application image. For a complete deployment, use the project's Docker Compose configuration.
Pingwatch stores monitoring samples for the configured retention period.
The default history window is:
31 days
Historical availability can be reviewed through:
Pingwatch is designed for self-hosted infrastructure environments.
Recommended deployment practices:
.env file and database credentials.Pingwatch is self-hosted and distributed under the AGPL-3.0 license.
The project is designed around transparency, control, and self-hosted infrastructure monitoring.
GitHub: https://github.com/superstack-oss/Pingwatch
Demo: https://demo-pingwatch.superstack.in
Documentation: https://github.com/superstack-oss/Pingwatch
For issues, feature requests, or contributions, please use the Pingwatch GitHub repository:
https://github.com/superstack-oss/Pingwatch
Pingwatch is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
See the repository for the complete license text and applicable project terms.
Uptime monitoring for NAS, storage, servers, APIs, DNS, and game infrastructure.
Self-hosted. Lightweight. Infrastructure-focused.
Content type
Image
Digest
sha256:9fde9c16c…
Size
85.6 MB
Last updated
about 7 hours ago
docker pull superstackinc/pingwatch