openstatus

The open-source status page and uptime monitoring platform.
Learn more »

Documentation · Website · Discord

openstatus status

License GitHub stars Discord

## About openstatus openstatus is the open-source **uptime monitoring** and **status page** platform built for **infra as code**. Declare monitors and status pages in code. Let your agents update them. Monitors, status pages, and notification channels are declared in YAML or Terraform, applied from the CLI or CI, and operable from Claude, ChatGPT, or Cursor over MCP. Available as a managed service or self-hosted.

openstatus status page

## Why openstatus? - **Infra as code** — monitors, status pages, and notifications in YAML or Terraform, applied from the CLI or CI - **Built for humans and agents** — MCP server, `--json` CLI, typed API, read-only or read-write key scopes, every mutation in the audit log - **Status pages + monitoring in one tool** — no need to wire up a separate monitoring service - **28 global regions** checking in parallel across 3 cloud providers - **Flat pricing, unlimited members** — no per-seat or per-subscriber charges - **Open source & self-hostable** — AGPL-3.0, private-locations run in a single 8.5MB Docker image - **Incident communication** — subscriber notifications via email, RSS, and webhooks ### Status pages Beautiful, customizable status pages with custom domains, password protection, maintenance windows, and subscriber notifications via email and RSS. Build trust and keep your users informed during incidents. ### Uptime Monitoring Monitor your servers, websites and APIs from 28 regions across multiple cloud providers globally. Get notified via Slack, Discord, PagerDuty, email, and more when your services are down or slow. ## Recognitions openstatus | Trendshift Featured on Hacker News openstatus - #2 Product of the Day on Product Hunt ## Tooling Everything the dashboard does is reachable from your terminal, your infrastructure code, and your AI assistant — all sharing a single API key. - **[API](https://www.openstatus.dev/tooling/api)** — typed JSON-over-HTTP (ConnectRPC) with a [Node SDK](https://github.com/openstatusHQ/sdk-node) - **[CLI](https://www.openstatus.dev/tooling/cli)** — interactive for humans, `--json` for agents, YAML monitoring as code - **[Terraform](https://www.openstatus.dev/tooling/terraform)** — monitors, notifications, and status pages as HCL - **[MCP server](https://www.openstatus.dev/tooling/mcp-server)** — connect Claude, ChatGPT, Cursor, or any MCP client to your workspace ## Getting Started ### With Docker (Recommended) The fastest way to get started for both development and self-hosting: ```sh # 1. Copy environment file cp .env.docker.example .env.docker # 2. Start all services docker compose up -d # 3. Access the application open http://localhost:3002 # Dashboard open http://localhost:3003 # Status Pages ``` Full guide: [DOCKER.md](DOCKER.md) ### Self-Hosting with Coolify We provide pre-built Docker images for easy deployment: ```bash ghcr.io/openstatushq/openstatus-server:latest ghcr.io/openstatushq/openstatus-dashboard:latest ghcr.io/openstatushq/openstatus-workflows:latest ghcr.io/openstatushq/openstatus-private-location:latest ghcr.io/openstatushq/openstatus-status-page:latest ghcr.io/openstatushq/openstatus-checker:latest ``` [Complete Coolify Deployment Guide](./COOLIFY_DEPLOYMENT.md) ### Self-Hosting with Railway Deploy the full stack (dashboard, status pages, API, workflows, probes, libSQL, and Tinybird Local) to one Railway project with one click: [![Deploy on Railway](https://railway.com/button.svg)](https://railway.com/new/template/openstatus?utm_medium=integration&utm_source=button&utm_campaign=openstatus) The template source and the setup instructions are in [ephraimduncan/openstatus-railway](https://github.com/ephraimduncan/openstatus-railway). ### Manual Setup #### Requirements - [Node.js](https://nodejs.org/en/) - [pnpm](https://pnpm.io/) - [Deno](https://deno.com/) - [Turso CLI](https://docs.turso.tech/quickstart). #### Dashboard See [apps/dashboard/README.md](apps/dashboard/README.md) for full steps (env, db, login, troubleshooting). #### Status page 1. Install dependencies `pnpm install` 2. Run the server `pnpm -w dev:status-page`. #### Web (marketing site) 1. Install dependencies `pnpm install` 2. Run the server `pnpm -w dev:web`. ## Tech Stack - [Next.js](https://nextjs.org/) - Dashboard - [Hono](https://hono.dev/) - API server - [Go](https://go.dev/) - Checker - [Turso](https://turso.tech/) - Database - [Drizzle](https://orm.drizzle.team/) - ORM - [Tinybird](https://tinybird.co/?ref=openstatus.dev) - Analytics - [Tailwind CSS](https://tailwindcss.com/) - Styling - [shadcn/ui](https://ui.shadcn.com/) - UI components ## Contributing If you want to help us build the best status page and monitoring platform, check our [contributing guidelines](CONTRIBUTING.md). ![openstatus repository activity](https://repobeats.axiom.co/api/embed/180eee159c0128f683a30f15f51ac35bdbd9fa44.svg "Repobeats analytics image") ## Contact Interested in our enterprise plan or need special features? Email us at [ping@openstatus.dev](mailto:ping@openstatus.dev) or book a call. Book us with Cal.com ## License Distributed under the [AGPL-3.0 License](LICENSE).