Overview
Discover what makes Statping-ng powerful
Statping‑ng is a self‑hosted status page and uptime monitoring platform written in **Go**. It exposes a RESTful API for managing services, checks, and notifications while rendering a modern, responsive web UI built with SASS‑based styling. The core of the application is a lightweight scheduler that periodically probes HTTP, TCP, UDP, ICMP, and gRPC endpoints and records metrics in a relational database. This makes Statping‑ng suitable for both small personal projects and enterprise‑grade monitoring of complex microservice ecosystems.
Multi‑protocol support
Rich notification stack
RESTful API
Custom styling
Overview
Statping‑ng is a self‑hosted status page and uptime monitoring platform written in Go. It exposes a RESTful API for managing services, checks, and notifications while rendering a modern, responsive web UI built with SASS‑based styling. The core of the application is a lightweight scheduler that periodically probes HTTP, TCP, UDP, ICMP, and gRPC endpoints and records metrics in a relational database. This makes Statping‑ng suitable for both small personal projects and enterprise‑grade monitoring of complex microservice ecosystems.
Key Features
- Multi‑protocol support – probes HTTP, TCP, UDP, ICMP and gRPC services with configurable intervals.
- Rich notification stack – built‑in integrations for Slack, Discord, Telegram, Email (SMTP), Webhooks, and a generic “mobile” notifier via push services.
- RESTful API – CRUD endpoints for services, groups, and notification rules; authentication via JWT or basic auth.
- Custom styling – SASS‑powered theme system that lets developers override the default UI or embed a branded status page into existing sites.
- Service grouping – logical categorization of checks, enabling dashboards per team or product line.
Technical Stack
| Layer | Technology |
|---|---|
| Language | Go 1.22+ (compiled binary) |
| Web framework | net/http + custom router; minimal dependencies for speed. |
| Template engine | Go’s html/template with a lightweight front‑end bundle (React/Vue not used). |
| Database | Supports MySQL, PostgreSQL, or SQLite via gorm ORM; schema migrations bundled. |
| Scheduler | Custom goroutine pool with tickers; no external job queue required. |
| Containerization | Official Docker image (adamboutcher/statping‑ng) with multi‑stage build; Alpine base for minimal footprint. |
| CLI | statping binary offers run, migrate, and config subcommands for bootstrap. |
Core Capabilities
- Health checks – configurable timeouts, retries, and success criteria (status code ranges or response body regex).
- Metrics – uptime percentage, response latency, and status history exposed via
/api/v1/stats. - Webhook API – external systems can push custom events to trigger status updates or notifications.
- OAuth2 & LDAP – optional integration for corporate environments (configurable via env vars or config file).
- Plugin hooks – developers can inject custom logic by implementing a Go interface that runs before/after checks.
Deployment & Infrastructure
Statping‑ng is designed for zero‑downtime self‑hosting. A single binary runs on any OS with Go runtime support, and the Docker image supports Docker Compose or Kubernetes via Helm charts (community‑maintained). Horizontal scaling is straightforward: multiple instances can share a single database and use a load balancer; the scheduler state is persisted in DB, so only one instance should perform checks to avoid duplicate probes. For high‑availability, a Redis or Etcd lock can be added to coordinate check execution across pods.
Integration & Extensibility
- Webhooks – any service can post to
/api/v1/webhookto trigger a status change or log an event. - Custom notifiers – the notifier framework is pluggable; developers can write a Go module that implements the
Notifierinterface and add it via configuration. - SASS themes – modify
_variables.scssto align the status page with corporate branding; the build process compiles on startup. - CLI hooks – pre‑deploy scripts can run
statping migrateand seed initial services.
Developer Experience
- Configuration – YAML/JSON files or environment variables; the README and Wiki contain detailed sections for Linux, Windows, Mac, and Docker.
- Documentation – comprehensive API docs are auto‑generated from OpenAPI specs; the GitHub Wiki hosts guides for custom notifiers, deployment patterns, and troubleshooting.
- Community – active GitHub discussions, a Slack channel, and frequent releases (stable, unstable, dev branches) keep the codebase modern.
- Licensing – permissive MIT license allows commercial use without copyleft obligations.
Use Cases
| Scenario | Why Statping‑ng fits |
|---|---|
| Startup MVP | Lightweight binary, single Docker image; quick to spin up and expose a public status page. |
| Microservice Mesh | Supports gRPC and HTTP checks; can group services by team or domain. |
| Enterprise SRE | Integrates with Slack/Discord for on‑call alerts; LDAP/OAuth2 for secure access. |
| CI/CD pipelines | Exposes API to trigger checks after deployments; can push results to external dashboards. |
| Open‑source projects | Free, self‑hosted; can embed status page into project website with custom styling. |
Advantages Over Alternatives
- Performance – Go’s concurrency model yields low CPU/memory overhead even with hundreds of checks.
- Simplicity – No heavy JS frameworks; a single binary plus optional Docker image reduces attack surface.
- Flexibility – Full control over database choice, notifier stack, and UI theme; no vendor lock‑in.
- Licensing – MIT license allows unrestricted commercial deployment, unlike some SaaS‑centric open‑source projects.
- Community & Maintenance – Actively maintained fork with
Open SourceReady to get started?
Join the community and start self-hosting Statping-ng today
Related Apps in data-analysis
Uptime Kuma
Self-hosted uptime monitoring for all services
Apache Superset
Open‑source BI for fast, no‑code data exploration
Metabase
Easy open‑source business intelligence for everyone
Netron
Visualize AI models in any browser or desktop
Umami
Privacy‑focused, lightweight web analytics
PostHog
Open‑source product analytics and experimentation platform
Weekly Views
Repository Health
Information
Explore More Apps
Caddy
Secure, auto‑TLS web server for every site
FoodCoopShop
Open‑source shop for local food cooperatives
imgproxy
Fast, secure on‑prem image resizing and processing
Fusion
Lightweight RSS aggregator and reader
TrailBase
Fast, single‑file Firebase alternative built on Rust
slskd
Secure, web‑based Soulseek client for self‑hosted file sharing