Skip to content
fclairambPublic

About

Distributed, self-hostable uptime monitoring: 40 check types, multi-region workers, private agents, status pages, incidents and on-call escalation — in a single Go binary.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

26 stars

Watchers

1 watching

Forks

Latest commit

 

History

618 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SolidPing

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.

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.

Build Coverage Release Go Go Reference License

Live Status Docs Container

Run it

docker run -p 4000:4000 --hostname solidping -v solidping-data:/data ghcr.io/fclairamb/solidping

Open 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.

  • --hostname is required: the worker name comes from it and must match ^[a-z][a-z0-9-]{2,20}$ (or set SP_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

Screenshots

Checks list New-check form Check detail
Checks list in the SolidPing dashboard New-check form, filled in Check detail page with response-time history

Check types

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

Inspiration

Contributing

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.

License

AGPL-3.0 - See LICENSE.

About

Distributed, self-hostable uptime monitoring: 40 check types, multi-region workers, private agents, status pages, incidents and on-call escalation — in a single Go binary.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

26 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages