Shared hosting
DirectAdmin · cPanel · Plesk
- Download the web installer.
- Upload it and open it in your browser.
- Follow setup and verify the cron job.
A self-hosted status page that monitors your services, publishes incidents and keeps your customers informed.
Free core · Your own domain · Shared hosting or Docker
Check websites, ports and scheduled jobs.
Failures open an incident. Recovery closes it.
A public page, email and notification integrations.
DirectAdmin · cPanel · Plesk
A hosting shell or your own server
Run the installer, follow the document-root instructions and verify the scheduler.
curl -fsSL https://pharos.solutionmax.net/get | sh -s -- --phpYour server · Docker Compose
Configure your application key, then start the app and scheduler together.
docker compose up -dRequires the Compose file and configured environment from the guide.
Docker setup guide →PHP 8.3+ · Required extensions · SQLite or MySQL · One cron job per minute Full requirements →
Walk through detection, notification and recovery in this interactive example.
All systems operational
updated 14:38Affected Checkout API, Payments
Components
Incidents
Subscribers
Investigating - a check failed twice: no response on HTTP. Pharos opened this incident by itself and we are looking into it.
View the status page You are subscribed to updates. Unsubscribe with one click - the link is in every mail.Live demo
Explore a real Pharos installation with public demo access. Post an incident, flip a component, change the branding - everything is thrown away and seeded again every 20 minutes.
Pharos connects service checks, public incidents and customer updates. Your team gets context. Your visitors get a page they can check.
HTTP, TCP, DNS and heartbeat checks help you follow websites, ports and scheduled jobs. See the current state of your components and their uptime history from one place.

Show service status, incident history and updates on your own domain. Visitors can subscribe to email updates, with double opt-in and an unsubscribe link. Choose per notification destination which events it receives.
Subscriber guide →Toggle public sections, set service visibility and preview your page. The free core includes your name and accent colour. The optional Brand pack adds your logo, favicon and editable email templates.
Status page guide →
Run separate status pages from one installation, each with its own services, subscribers, branding, email and integrations. Give every user a role per page: Read only, Editor or Page admin. Free and Brand pack run 1 page, Supported up to 5, the Commercial licence has no limit.
Pages and plans →
Each public page has its own name, accent colour and, with a paid plan, its own logo and favicon. The default page keeps your main address; the others get their own path or domain.
Public page guide →
For hosting resellers, agencies and teams that want monitoring and a public status page in a self-hosted application.
Configured failures open incidents. Recovery closes them. Your team can add context while the checks keep running.
Run Pharos on infrastructure you manage. Hosting, backups, email delivery and application maintenance remain your responsibility.
Monitoring, incidents, integrations and updates are included under AGPL-3.0. Paid branding and support are optional.
Use compatible PHP hosting with a scheduler, or run the app and scheduler with Docker Compose. You do not need to move the services you want to monitor.
Choose your installation ↓Keep the tools your team already knows. Use the API, outgoing webhooks and heartbeat endpoints to connect them to your status page.

The API is Cachet-shaped, not a complete drop-in replacement. Read the supported endpoints and adapt your integration before using it in production.
Pharos makes sense when you want a public status page and service checks together on compatible PHP hosting or Docker. Compare requirements, licensing and supported integrations for your own setup.
Monitoring, incidents, notifications and updates are free. Add your own branding, more status pages and support, or a commercial licence for private modifications.
Free
AGPL-3.0 · self-hosted€79
One time · works forever€149/year
Yearly · cancel any timefrom €599/year
For companies that modify itPrices include applicable VAT. Your total and tax treatment are shown before payment. Hosting and third-party services are separate costs. Supported renews annually until cancelled; the commercial licence is subject to a written quote and scope. If a yearly key lapses, the branding stays and existing status pages keep running, but you cannot create or reactivate pages beyond one.
Consumer rights: Brand pack immediate delivery requires express consent and acknowledgement of losing the withdrawal right when supply starts. For delayed delivery, contact us before buying. Supported retains a 14-day withdrawal right for the whole initial purchase.
Terms, delivery and cancellation · Información de contratación en español · Withdraw from a contract
The core is licensed under AGPL-3.0. Obligations depend on use, modification and distribution. Branding and support purchases do not replace that licence. A commercial agreement grants additional rights only within its written scope.
No. It runs on PHP 8.3 or later with SQLite or MySQL, which cPanel, DirectAdmin, Plesk and other compatible PHP hosts provide, and one cron line drives the scheduled checks. Docker is also supported for anyone who prefers containers.
Pharos combines a public status page with HTTP, TCP, DNS and heartbeat monitoring, automatic incidents and notifications. It runs on compatible PHP 8.3 hosting with a working cron job, or in Docker. Choose it when you want to manage both checks and customer updates in one application.
Mostly. The API is Cachet-shaped: read and set components, open incidents and post updates, with the same X-Cachet-Token header, the same status integers and the same response envelope, so existing n8n workflows and scripts port with small changes. Component groups, metrics, subscribers, schedules, ping and version have no endpoint here.
It is a check aimed at things you cannot poll from outside, such as a backup job or a cron script. Your job calls a URL on its own schedule, and if that call stops arriving, Pharos treats the silence as the failure and opens an incident.
Yes. Every section of the public page is a switch under Status page: the overall banner, uptime bar, services list, per-component bars, incident history, empty days, API link and subscribe button. Visibility can also be set per service, and a live preview shows the real page as you toggle.
The core is AGPL-3.0 and free to host yourself, with monitoring, incidents, notifications and updates included, for one status page; branding is optional and paid. Three paid options are available, all optional: a one time Brand pack (€79) to use your own logo and drop the credit, a yearly Supported plan (€149) for support from the person who wrote it, with the Brand pack included and up to 5 status pages, and a commercial licence (from €599/year) with unlimited status pages for companies that modify Pharos and would rather not publish the change.
Your own logo for the light and dark theme, your favicon, your logo in email and editable email templates, and the footer credit removed. It is a one time purchase for one status page, tied to the domain of the installation you give at checkout, and verified locally with an Ed25519 signature rather than a phone home check, so it keeps working forever, even if the licensing server is unreachable.
Pharos checks for a signed release manifest and shows what is available under Updates - on every installation, paid or not. On a PHP host it downloads the release, verifies the checksum, backs up the current version and replaces its own files. On Docker the host pulls the new image. If the release server cannot be reached, that reads as no update available, never as an error.
Yes, with Supported (up to 5) or the commercial licence (unlimited). Each page has its own components, subscribers, branding, email settings, integrations and API tokens, and every user gets a role per page: read only, editor or page administrator. Without a paid key an installation runs one status page. If a yearly key lapses, existing pages keep running; only creating or reactivating pages beyond one is blocked.
A licence question, an install that will not cooperate, a quote for the commercial licence. It lands in one inbox and is answered by the person who wrote the code - normally within a working day.
Open source under AGPL-3.0, installed on the hosting you already run. Point it at your components, wire a heartbeat into the jobs nobody else can see, and let it write the incident before anyone has to ask.