# Pharos > Self-hosted, open-source status page. Checks HTTP, TCP and heartbeat targets > itself, opens and closes incidents automatically, and keeps a Cachet 2.x > compatible API so existing integrations keep working. Runs on shared cPanel > hosting or Docker. Built by SolutionMAX. ## Source - Repository: https://github.com/solutionmax/pharos - Licence text: https://github.com/solutionmax/pharos/blob/main/LICENSE (AGPL-3.0-only) ## Key facts - Core: AGPL-3.0, free, self-hosted. Requires PHP 8.3+ and either SQLite or MySQL. - Self-monitoring: HTTP, TCP and heartbeat checks set component status and open or close incidents without manual input. A component goes down after its retry count is exhausted; an incident closes itself after three consecutive healthy checks. - Heartbeat checks: a cron job calls an unguessable URL on schedule; silence for two intervals triggers the incident. For things with no outward endpoint, such as backups. - Uptime: daily roll-ups produce a 90-day bar and a percentage; days without data are grey and excluded from the average, never counted as green. - Incidents: one incident can span multiple components, each with its own status; impact (minor/major/critical) is separate from status; templates support variables like {{server}} and leave unknown placeholders verbatim rather than blanking them. - API: Cachet 2.x compatible — same endpoints, same status integers, X-Cachet-Token accepted alongside Bearer. Existing n8n workflows and scripts keep working. - Integrations: REST API, generic inbound webhook, Uptime Kuma push monitors (wired as a heartbeat), n8n both directions with an HMAC-SHA256 signed outgoing webhook, Zabbix and Grafana via the API. - Public page: every section is a toggle (overall banner, uptime bar, services list, per-component bars, incident history, empty days, subscribe button, API link) plus per-service visibility, with a live admin preview that renders the real page from unsaved values. - Themes: light and dark; the operator sets a default, a visitor override is remembered. - Deployment: shared cPanel hosting (one cron line) or Docker (two containers). Updates are signed with Ed25519; shared hosting self-updates after checksum verification and keeps a backup, Docker hosts pull the image. An unreachable release server reads as no update, never an error. - Paid, all optional, none of them gate a feature: Brand pack EUR 49 one-time (own logo, favicon and sender address, footer credit removed); Supported EUR 119/year (one-click signed updates from the admin panel, support beyond the public issue tracker, includes the Brand pack); commercial licence from EUR 599/year (lifts the AGPL obligation to publish modifications, for organisations that modify Pharos and expose it over a network). Licences are verified locally with an Ed25519 signature; Pharos never phones home. - Built because Cachet 2.x is unmaintained since 2021 and Cachet 3.x is no longer open source: its licence forbids removing notices and forbids distributing it as a standalone product. - Not implemented yet: subscriber email notifications, scheduled maintenance windows, external probe locations, an importer from Cachet. - 186 automated tests. ## Pages - Home: https://pharos.solutionmax.net/ - Documentation: https://pharos.solutionmax.net/docs.html ## Contact - Email: mail@solutionmax.net - Built by SolutionMAX (https://solutionmax.net)