Skip to main content

Introduction to SolidPing

SolidPing is a distributed monitoring platform designed for checking the availability and performance of services across multiple protocols. It's built for teams who need reliable, self-hosted monitoring with minimal infrastructure requirements.

Key Features

  • 32 Check Types - HTTP/HTTPS, TCP, UDP, ICMP, DNS, SSL, WebSocket, databases (PostgreSQL, MySQL, Redis, MongoDB, MSSQL, Oracle), email (SMTP, IMAP, POP3), messaging (gRPC, Kafka, RabbitMQ, MQTT), SSH, FTP, SFTP, SNMP, Docker, and more
  • Distributed Workers - Execute checks from multiple locations and regions with lease-based job distribution
  • Multi-Tenant Architecture - Organization-scoped data isolation with role-based access control
  • Low Resource Footprint - Single binary with PostgreSQL or SQLite as the only dependency
  • Sub-Minute Checks - Run checks as frequently as every 5 seconds for critical services
  • Flexible Notifications - Slack, Discord, Email, Webhooks, Google Chat, Mattermost, ntfy, Opsgenie, Pushover
  • Public Status Pages - Embeddable status dashboards for transparency with your users
  • Smart Incident Management - Adaptive thresholds, cooldown, and escalation policies
  • JavaScript Scripting - Custom monitoring logic for complex multi-step workflows
  • OAuth Authentication - Sign in with Google, GitHub, GitLab, or Microsoft
  • Observability - Sentry error tracking, Prometheus metrics, OpenTelemetry support

Architecture Overview

SolidPing consists of three main components:

  1. Server - The main application that handles the API, dashboard, and job scheduling
  2. Workers - Distributed agents that execute health checks from different locations
  3. Database - PostgreSQL (recommended for production) or SQLite (for simple setups)
┌─────────────────┐     ┌─────────────────┐
│ Dashboard │────▶│ Server │
│ (React 19) │ │ (Go) │
└─────────────────┘ └────────┬────────┘

┌────────────┼────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Worker 1 │ │ Worker 2 │ │ Worker 3 │
│ (US-East)│ │ (EU-West)│ │ (AP-South)│
└──────────┘ └──────────┘ └──────────┘

Workers use PostgreSQL's SELECT FOR UPDATE SKIP LOCKED for lease-based job distribution, ensuring reliable failover and no duplicate checks.

Quick Start

The fastest way to get started is with Docker:

docker run -p 4000:4000 -v solidping-data:/data \
-e SP_DB_TYPE=sqlite -e SP_DB_DIR=/data \
ghcr.io/fclairamb/solidping:latest

Then open http://localhost:4000 in your browser.

Default credentials:

  • Email: admin@solidping.com
  • Password: solidpass
  • Organization: default

Next Steps