openstatushq / openstatus
🫖 Status page with uptime monitoring & API monitoring as code 🫖
github.com/openstatushq/openstatusIndexed at f04c827Up to date with upstream
What is openstatus?
openstatus is an open-source platform for publishing status pages and monitoring the uptime of servers, websites, and APIs. It combines incident communication with monitoring as code through YAML configuration, a CLI, GitHub Actions, and Terraform. The repository is primarily written in TypeScript, with Go services and npm and Go components.
Written by a model from the README and the source
2,753 files and 6,282 symbols in 4 modules, led by TypeScript (1,966 files) and Go (60).
Code health
This codebase scores 8.3 out of 10 for code health, which we rate good. It also scores maintainability 9.1 and static performance 9.9 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 313 of 2,753 files are git hotspots, and they average 7.4 — which is where the fixes pay off most.
On the leaderboards:#8 of 46 TypeScript repos
Use openstatushq/openstatus in your agent
Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.
- 1.In Claude, open Customize → Connectors, click +, then Add custom connector. On a Team or Enterprise plan an owner adds it first under Organization settings → Connectors.
- 2.Paste the server URL below as the Remote MCP server URL, then click Add.
- 3.Click Connect. A Repowise sign-in window opens. Approve access.
- 4.Repowise's tools are now available in your Claude chats.
Connect with one click. Sign in with Repowise (OAuth), no API key to copy. Works in Claude on the web, desktop, and mobile.
Docshttps://api.repowise.dev/mcp/openstatushq/openstatus
This repo is public, so anyone with a Repowise account and an API key can connect.
Try asking
- get_overview()
- get_answer("how is openstatus put together?")
- get_why("why is openstatus structured this way?")
Explore openstatus
- DocumentationModule-by-module documentation, written from the source.
- ArchitectureDependency graph, layers and third-party dependencies.
- Code healthEvery file's score and the findings behind it.
- CommitsEach commit's effect on code health.
- OverviewEverything else the index found: contributors, decisions, what changed this week.
Key features of openstatus
- openstatus combines status pages and uptime monitoring in one tool.
- openstatus provides customizable status pages with custom domains, password protection, maintenance windows, and subscriber notifications through email and RSS.
- openstatus monitors servers, websites, and APIs from global regions across multiple cloud providers.
- openstatus supports monitoring as code through YAML configuration, a CLI, GitHub Actions, and Terraform.
- openstatus sends service alerts through Slack, Discord, PagerDuty, email, and other channels.
- openstatus supports self-hosting under the AGPL-3.0 license.
How openstatushq/openstatus works
The apps directory contains application code, while packages contains shared services and libraries. The API routes in packages/api/src/router/page.ts and packages/api/src/router/statusPage.ts handle page-related and status-page operations. packages/api/src/router/statusPage.utils.ts provides supporting status-page logic. The dashboard entry points in apps/dashboard connect the user interface to authentication and server-side tRPC functionality. The checker services enter through apps/checker/cmd/private/main.go and apps/checker/cmd/server/main.go to perform monitoring work. Analytics access is implemented by packages/tinybird/src/client.ts, and the repository uses Turso with Drizzle for data storage and ORM functionality.
The codebase has 2,753 files and 6,282 symbols in 4 modules, led by TypeScript, Go and Dockerfile. Code health is 8.3 out of 10, rated good.
Getting started with openstatus
- Copy the Docker environment file.
cp .env.docker.example .env.docker - Start the services with Docker Compose.
docker compose up -d
Commands copied from the README
openstatushq/openstatus FAQ
What is openstatus?
openstatus is an open-source platform that combines status pages and uptime monitoring. It helps communicate incidents and monitor servers, websites, and APIs.
How does openstatus work?
openstatus uses dashboard and API applications for management, Go checker services for monitoring, and shared packages for status-page operations, analytics, and other services.
How do I install openstatus?
openstatus can be started with Docker by copying .env.docker.example to .env.docker and running Docker Compose. The dashboard uses port 3002 and status pages use port 3003.
What language is openstatus written in?
openstatus is primarily written in TypeScript, with Go services for checker and related applications.
How is the openstatus code organized?
openstatus is organized mainly into apps and packages. The apps directory holds application code, while packages contains shared functionality such as the API and Tinybird client.
Who is openstatus for?
openstatus is for teams that need status pages and uptime monitoring in one tool. It supports managed use and self-hosting.
What license does openstatus use?
openstatus uses the AGPL-3.0 license. The project supports self-hosting under that license.
The summary, features and answers on this page are written by a model from the README and the source, and refreshed with each index.
About this page
Get a page like this for your own codebase
Repowise built this map of openstatushq/openstatus from its source and git history. It parses every symbol, draws the dependency graph, scores each file's health from complexity, duplication, coverage and churn, finds hotspots and owners in the history, and writes documentation for every module. Your coding agent reads the same index over MCP, so its answers cite real files.
Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.
Maintain openstatushq/openstatus?
Claim this page, add a badge to the README, or re-index it.
Claim this page
Sign in with GitHub and we check that you are an admin or maintainer of openstatushq/openstatus. Then add a badge to the README that links readers here.
Add a badge to your README
Every badge is public, cached, and updates on its own after every index. Nothing to install.
Repowise badge
Links to this page, with no score on it. Adding it also re-indexes the repo every week.
[](https://repowise.dev/repo/openstatushq/openstatus?src=badge_wiki)Code health badge
The repo's health score out of 10, from the latest index.
[](https://repowise.dev/repo/openstatushq/openstatus?src=badge_health)Code health card
A larger card with the score, its change since the last index, and when it was measured. The HTML version follows the reader's light or dark theme.
[](https://repowise.dev/repo/openstatushq/openstatus?src=badge_card)