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.
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 [email protected] / 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:
Screenshots
Check types
Inspiration
- 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.
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.