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:
- Server - The main application that handles the API, dashboard, and job scheduling
- Workers - Distributed agents that execute health checks from different locations
- 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
- Docker Installation - Recommended for most users
- Configuration Guide - Environment variables and settings
- Check Types - All 32 supported protocols and options
- Notifications - Set up alerting channels