Distributed, self-hostable uptime monitoring. 44 check types, multi-region workers, private agents, status pages, incidents and on-call escalation, in a single Go binary.
setup-to-first-result.h264.mp4
From docker run to the first result in 41 seconds, recorded from a real server with make showcase. The Tour page has the same cut if the player does not load.
docker run -p 4000:4000 --hostname solidping -v solidping-data:/data ghcr.io/fclairamb/solidpingOpen http://localhost:4000 and sign in with admin@solidping.io / solidpass.
You must pick a new password on first login: the pair is public, so the account can do nothing else until then.
--hostnameis required: the worker name comes from it and must match^[a-z][a-z0-9-]{2,20}$(or setSP_NODE_NAME).- Data (SQLite database and uploads) lives in
/data, so keep the volume. - For production, use PostgreSQL: add
-e SP_DB_TYPE=postgres -e SP_DB_URL='postgresql://user:pass@host:5432/solidping'. Migrations run on first boot.
Every other setting is an SP_ environment variable, all optional: see the configuration docs.
Other ways to run it:
| Hosted | www.solidping.io, no card needed |
| Docker Compose | guide |
| Binary (Linux, macOS, Windows) | releases, Linux guide, Windows guide |
| Homebrew | brew install fclairamb/tap/solidping |
| Scoop | scoop bucket add fclairamb https://github.com/fclairamb/scoop-bucket then scoop install solidping |
| Kubernetes | Helm chart, guide |
| Railway, Coolify, CasaOS, YunoHost | installation guides |
| Checks list | New-check form | Check detail |
|---|---|---|
![]() |
![]() |
![]() |
| Check | Type | What it checks |
|---|---|---|
| HTTP/HTTPS | http |
Status codes, body, JSON and header assertions, timing breakdown |
| TCP | tcp |
Port connectivity, optional send/expect payload |
| UDP | udp |
Port reachability, optional send/expect payload |
| ICMP | icmp |
Ping |
| DNS | dns |
Record resolution |
| WebSocket | websocket |
Connection handshake |
| RDP | rdp |
RDP negotiation, optional authenticated logon |
| VNC | vnc |
RFB handshake and authentication |
| Website crawl | crawl |
Broken links, mixed content, sitemap errors |
| Application health | health |
Health endpoint, reported per component |
| Vendor status page | vendor-status |
Outages reported by a vendor's status page |
| SSL/TLS | ssl |
Certificate validity and expiration |
| Domain | domain |
Domain expiration (WHOIS/RDAP) |
| DNSBL | dnsbl |
DNS blocklist membership |
| PostgreSQL | postgresql |
Connection and query |
| MySQL/MariaDB | mysql |
Connection and query |
| MongoDB | mongodb |
Ping command |
| Redis | redis |
PING command |
| MSSQL | mssql |
Connection and query |
| Oracle | oracle |
Connection and query |
| ClickHouse | clickhouse |
Connection and query |
| SMTP | smtp |
Connectivity, STARTTLS, AUTH, optional real probe email |
| IMAP | imap |
Server availability |
| POP3 | pop3 |
Server availability |
| Email reception | email |
A known message reaches an inbox (JMAP) |
| SSH | ssh |
Server availability |
| FTP | ftp |
Server availability |
| SFTP | sftp |
Server availability |
| gRPC | grpc |
Service health |
| Kafka | kafka |
Broker connectivity |
| RabbitMQ | rabbitmq |
Broker connectivity |
| MQTT | mqtt |
Broker connectivity |
| SIP | sip |
VoIP server OPTIONS ping |
| NTP | ntp |
Reachability and clock drift |
| SNMP | snmp |
Device monitoring |
| Docker | docker |
Container health |
| Kubernetes | kubernetes |
Workload replica health |
| A2S | a2s |
Source / Steam game server query |
| Minecraft | minecraft |
Java and Bedrock server query |
| Freebox line | freebox_line |
xDSL/FTTH line quality |
| Prometheus | prometheus |
Thresholds on a scraped metric |
| Heartbeat | heartbeat |
Passive: alerts when pings stop (cron jobs, CI) |
| JavaScript | js |
Sandboxed scripts: multi-step API flows, logins, aggregation |
| Browser | browser |
Headless Chrome: full render, screenshots |
- Uptime Kuma: a self-hosted monitor that is easy to run (migration guide).
- Better Stack: incidents, on-call escalation and status pages in one product (migration guide).
- Gatus: checks defined as configuration (migration guide).
- UptimeRobot: fast onboarding, one URL and you are monitoring (migration guide).
- Healthchecks.io: heartbeat monitoring for cron jobs.
- Checkly: scripted API and browser checks.
Bug reports and pull requests are welcome. CONTRIBUTING.md covers local setup (make dev)
and PR conventions. Found a security issue? See SECURITY.md rather than opening a public issue.
AGPL-3.0 - See LICENSE.


