# SolidPing
**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.
https://github.com/user-attachments/assets/fe207622-7957-4e85-8a3c-d33281799f4b
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.
[](https://github.com/fclairamb/solidping/actions/workflows/ci.yml)
[](https://codecov.io/gh/fclairamb/solidping)
[](https://github.com/fclairamb/solidping/releases/latest)
[](https://github.com/fclairamb/solidping/blob/main/server/go.mod)
[](https://pkg.go.dev/github.com/fclairamb/solidping/server)
[](LICENSE)
[](https://www.solidping.io)
[](https://status.solidping.io)
[](https://docs.solidping.io)
[](https://github.com/fclairamb/solidping/pkgs/container/solidping)
|
|
|
## Check types
| Check | Type | What it checks |
|---|---|---|
| [HTTP/HTTPS](https://docs.solidping.io/features/check-types#httphttps) | `http` | Status codes, body, JSON and header assertions, timing breakdown |
| [TCP](https://docs.solidping.io/features/check-types#tcp) | `tcp` | Port connectivity, optional send/expect payload |
| [UDP](https://docs.solidping.io/features/check-types#udp) | `udp` | Port reachability, optional send/expect payload |
| [ICMP](https://docs.solidping.io/features/check-types#icmp-ping) | `icmp` | Ping |
| [DNS](https://docs.solidping.io/features/check-types#dns) | `dns` | Record resolution |
| [WebSocket](https://docs.solidping.io/features/check-types#websocket) | `websocket` | Connection handshake |
| [RDP](https://docs.solidping.io/features/check-types#rdp-remote-desktop) | `rdp` | RDP negotiation, optional authenticated logon |
| [VNC](https://docs.solidping.io/features/check-types#vnc) | `vnc` | RFB handshake and authentication |
| [Website crawl](https://docs.solidping.io/features/check-types#website-crawl) | `crawl` | Broken links, mixed content, sitemap errors |
| [Application health](https://docs.solidping.io/features/check-types#application-health) | `health` | Health endpoint, reported per component |
| [Vendor status page](https://docs.solidping.io/features/check-types#vendor-status) | `vendor-status` | Outages reported by a vendor's status page |
| [SSL/TLS](https://docs.solidping.io/features/check-types#ssltls-certificate) | `ssl` | Certificate validity and expiration |
| [Domain](https://docs.solidping.io/features/check-types#domain-expiration) | `domain` | Domain expiration (WHOIS/RDAP) |
| [DNSBL](https://docs.solidping.io/features/check-types#dnsbl-dns-blocklist) | `dnsbl` | DNS blocklist membership |
| [PostgreSQL](https://docs.solidping.io/features/check-types#postgresql) | `postgresql` | Connection and query |
| [MySQL/MariaDB](https://docs.solidping.io/features/check-types#mysql--mariadb) | `mysql` | Connection and query |
| [MongoDB](https://docs.solidping.io/features/check-types#mongodb) | `mongodb` | Ping command |
| [Redis](https://docs.solidping.io/features/check-types#redis) | `redis` | PING command |
| [MSSQL](https://docs.solidping.io/features/check-types#microsoft-sql-server) | `mssql` | Connection and query |
| [Oracle](https://docs.solidping.io/features/check-types#oracle-database) | `oracle` | Connection and query |
| [ClickHouse](https://docs.solidping.io/features/check-types#clickhouse) | `clickhouse` | Connection and query |
| [SMTP](https://docs.solidping.io/features/check-types#smtp) | `smtp` | Connectivity, STARTTLS, AUTH, optional real probe email |
| [IMAP](https://docs.solidping.io/features/check-types#imap) | `imap` | Server availability |
| [POP3](https://docs.solidping.io/features/check-types#pop3) | `pop3` | Server availability |
| [Email reception](https://docs.solidping.io/features/check-types#email-reception-passive-inbox) | `email` | A known message reaches an inbox (JMAP) |
| [SSH](https://docs.solidping.io/features/check-types#ssh) | `ssh` | Server availability |
| [FTP](https://docs.solidping.io/features/check-types#ftp) | `ftp` | Server availability |
| [SFTP](https://docs.solidping.io/features/check-types#sftp) | `sftp` | Server availability |
| [gRPC](https://docs.solidping.io/features/check-types#grpc) | `grpc` | Service health |
| [Kafka](https://docs.solidping.io/features/check-types#kafka) | `kafka` | Broker connectivity |
| [RabbitMQ](https://docs.solidping.io/features/check-types#rabbitmq) | `rabbitmq` | Broker connectivity |
| [MQTT](https://docs.solidping.io/features/check-types#mqtt) | `mqtt` | Broker connectivity |
| [SIP](https://docs.solidping.io/features/check-types#sip-voip) | `sip` | VoIP server OPTIONS ping |
| [NTP](https://docs.solidping.io/features/check-types#ntp-time-server) | `ntp` | Reachability and clock drift |
| [SNMP](https://docs.solidping.io/features/check-types#snmp) | `snmp` | Device monitoring |
| [Docker](https://docs.solidping.io/features/check-types#docker) | `docker` | Container health |
| [Kubernetes](https://docs.solidping.io/features/check-types#kubernetes-workload-replica-health) | `kubernetes` | Workload replica health |
| [A2S](https://docs.solidping.io/features/check-types#a2s-game-server-source--steam) | `a2s` | Source / Steam game server query |
| [Minecraft](https://docs.solidping.io/features/check-types#minecraft) | `minecraft` | Java and Bedrock server query |
| [Freebox line](https://docs.solidping.io/features/check-types#freebox-line-xdsl--ftth) | `freebox_line` | xDSL/FTTH line quality |
| [Prometheus](https://docs.solidping.io/features/check-types#prometheus-metric) | `prometheus` | Thresholds on a scraped metric |
| [Heartbeat](https://docs.solidping.io/features/check-types#heartbeat) | `heartbeat` | Passive: alerts when pings stop (cron jobs, CI) |
| [JavaScript](https://docs.solidping.io/features/javascript-checks) | `js` | Sandboxed scripts: multi-step API flows, logins, aggregation |
| [Browser](https://docs.solidping.io/features/check-types#browser) | `browser` | Headless Chrome: full render, screenshots |
## Inspiration
- [Uptime Kuma](https://github.com/louislam/uptime-kuma): a self-hosted monitor that is easy to run ([migration guide](https://docs.solidping.io/features/migrate/from-uptime-kuma)).
- [Better Stack](https://betterstack.com): incidents, on-call escalation and status pages in one product ([migration guide](https://docs.solidping.io/features/migrate/from-better-stack)).
- [Gatus](https://github.com/TwiN/gatus): checks defined as configuration ([migration guide](https://docs.solidping.io/features/migrate/from-gatus)).
- [UptimeRobot](https://uptimerobot.com): fast onboarding, one URL and you are monitoring ([migration guide](https://docs.solidping.io/features/migrate/from-uptimerobot)).
- [Healthchecks.io](https://healthchecks.io): heartbeat monitoring for cron jobs.
- [Checkly](https://www.checklyhq.com): scripted API and browser checks.
## Contributing
Bug reports and pull requests are welcome. [`CONTRIBUTING.md`](CONTRIBUTING.md) covers local setup (`make dev`)
and PR conventions. Found a security issue? See [`SECURITY.md`](SECURITY.md) rather than opening a public issue.
## License
AGPL-3.0 - See [LICENSE](LICENSE).