gatus
Automated developer-oriented status page with alerting and incident support
⭐ 10,839 stars on GitHub · 🍴 727 forks · 📜 License: apache-2.0 · 💻 Language: Go
What is gatus?
A status page should be close to the systems it reports on, not locked behind a SaaS bill. Gatus is a lightweight, developer-focused monitoring dashboard that combines uptime checks, rich assertions, alerting, and incident visibility in a single self-hosted Go service.
Main components
- HTTP, TCP, ICMP, DNS, and GraphQL health checks for services, APIs, domains, and infrastructure endpoints.
- Condition-based validation against status codes, response time, TLS certificate expiry, response body, headers, and other values.
- Public or private status dashboard showing endpoint health, uptime history, latency, and failures.
- Alerting integrations for Slack, PagerDuty, Discord, Microsoft Teams workflows, Telegram, email, Gotify, Opsgenie, Twilio, Webhooks, and many more.
- Incident and maintenance support so planned downtime and service problems can be communicated cleanly.
- Docker, Helm, Kubernetes, and Terraform-friendly deployment with configuration-as-code at the center.
- Security options including basic authentication, OIDC, TLS configuration, and Prometheus metrics export.
Clear use cases
- Run an internal status page for Kubernetes services, ingress routes, databases, queues, and third-party dependencies.
- Monitor public APIs with assertions beyond “HTTP 200”, such as response latency, JSON body content, or certificate expiration.
- Give a small engineering team PagerDuty or Slack alerts without deploying a full observability stack.
- Publish a customer-facing status page for a SaaS, agency hosting platform, or managed service environment.
- Track homelab and self-hosted services with a clean dashboard that is easier to operate than Prometheus plus Alertmanager.
- Validate DNS records, TCP ports, and external dependencies from a simple declarative config file.
The biggest strength is practical, assertion-based monitoring without platform weight — Gatus sits between basic uptime checkers and full observability suites. Compared with commercial status-page tools, you keep control of the data, deployment, branding, and alert routing, while still getting enough integrations to plug into real incident workflows. It is not trying to replace tracing, logs, or metrics platforms; it is excellent at answering “is this thing healthy, and who should know if it is not?”
Best for DevOps engineers, SREs, platform teams, homelab operators, and small SaaS teams that want a self-hosted status page with serious health checks and alerting but do not want to run a heavyweight monitoring stack.
Topics: the project is tagged with popular topics:
- 🏷️
alerting - 🏷️
container - 🏷️
dashboard - 🏷️
devops - 🏷️
docker - 🏷️
go - 🏷️
golang - 🏷️
health - 🏷️
monitor - 🏷️
monitoring
📸 Screenshots




Quick install
See the README for detailed install instructions. Most projects support Docker — if the repo has a Dockerfile, use:
git clone https://github.com/TwiN/gatus.git
cd gatus
docker build -t gatus .
docker run -d -p 8080:8080 gatus
Minimum system requirements
| Component | Recommended |
|---|---|
| RAM | 4096 MB |
| CPU | 2 vCPU |
| Disk | 50 GB SSD |
| OS | Ubuntu 22.04 LTS / Debian 12 |
| Docker | 24.0+ |
⚡ Deploy fast on VSIS
Use the VSIS VPS Standard 4GB RAM / 2 vCPU / 50GB SSD (~150k/tháng) plan from VSIS.NET — high-speed VN-based VPS, 24/7 support, ideal for running gatus smoothly.
🎯 Benefits:
- One-command
docker compose up -ddeploy in 2 minutes - Dedicated IPv4, root access, unmetered domestic bandwidth
- Daily snapshot backup
- Free install assistance from the VSIS team
👉 See matching VPS plans at vsis.net
Resources
- 🔗 GitHub: TwiN/gatus
- 🌐 Homepage: https://gatus.io
- 📚 Official docs: see README in the repo
- 💬 Community: GitHub Issues + Discussions
Article compiled from GitHub data on 05/05/2026. Star/fork counts may have changed — see live numbers via the GitHub link.
