openstatus
The open-source status page and uptime monitoring platform.
Learn more »
Documentation
·
Website
·
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.
## 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
## 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:
[](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).

## Contact
Interested in our enterprise plan or need special features? Email us at [ping@openstatus.dev](mailto:ping@openstatus.dev) or book a call.
## License
Distributed under the [AGPL-3.0 License](LICENSE).