MCPSERV.CLUB
Statping-ng

Statping-ng

Self-Hosted

Self‑hosted status page and monitoring server

Stale(68)
1.8kstars
0views
Updated Jun 4, 2025

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

LayerTechnology
LanguageGo 1.22+ (compiled binary)
Web frameworknet/http + custom router; minimal dependencies for speed.
Template engineGo’s html/template with a lightweight front‑end bundle (React/Vue not used).
DatabaseSupports MySQL, PostgreSQL, or SQLite via gorm ORM; schema migrations bundled.
SchedulerCustom goroutine pool with tickers; no external job queue required.
ContainerizationOfficial Docker image (adamboutcher/statping‑ng) with multi‑stage build; Alpine base for minimal footprint.
CLIstatping 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/webhook to trigger a status change or log an event.
  • Custom notifiers – the notifier framework is pluggable; developers can write a Go module that implements the Notifier interface and add it via configuration.
  • SASS themes – modify _variables.scss to align the status page with corporate branding; the build process compiles on startup.
  • CLI hooks – pre‑deploy scripts can run statping migrate and 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

ScenarioWhy Statping‑ng fits
Startup MVPLightweight binary, single Docker image; quick to spin up and expose a public status page.
Microservice MeshSupports gRPC and HTTP checks; can group services by team or domain.
Enterprise SREIntegrates with Slack/Discord for on‑call alerts; LDAP/OAuth2 for secure access.
CI/CD pipelinesExposes API to trigger checks after deployments; can push results to external dashboards.
Open‑source projectsFree, 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

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
data-analysis
License
GPL-3.0
Stars
1.8k
Technical Specs
Pricing
Open Source
Database
Multiple
Docker
Official
Supported OS
LinuxWindowsmacOSDocker
Author
statping-ng
statping-ng
Last Updated
Jun 4, 2025