Repolode
TwiN

TwiN/gatus

Self-hosted health dashboard that monitors services over HTTP, ICMP, TCP, DNS and more, evaluates response conditions, and sends alerts.

Open-source alternative to:UptimeRobotPingdomStatuspage

Stars
12,365
Forks
869
Open issues
421
Last commit
4 days ago

What is it?

Gatus is a developer-oriented health dashboard for monitoring services over HTTP, ICMP, TCP and DNS queries. Each check is evaluated against a list of conditions on values such as status code, response time, certificate expiration, and response body, so a check can fail even when the service responds.

When an endpoint becomes unhealthy, Gatus can send alerts through providers including Slack, Teams, PagerDuty, Discord, Twilio and many others. Checks are defined in YAML, and the project also supports external endpoints that receive pushed status updates from agents in private networks, along with badges, metrics, and an API for status data.

It is written in Go, runs as a Docker container or standalone binary, and is intended to detect problems before users report them.

Key features

  • 01Health checks over HTTP, ICMP, TCP, DNS, and other protocols
  • 02Conditions on status code, response time, certificate expiry, and body content
  • 03Alerting to Slack, Teams, PagerDuty, Discord, Twilio and many more providers
  • 04Support for external endpoints that receive pushed status updates
  • 05Metrics endpoint, status badges, and a status API
  • 06Configuration in YAML with hot reloading

Use cases

  • Monitoring your own web services and APIs and getting alerted before users notice outages
  • Running a public status page for internal or customer-facing services
  • Monitoring services in private networks by pushing status from an internal agent
  • Running automated acceptance checks against endpoints with multi-step suites

Quick start

  1. 1

    Run Gatus with Docker from GitHub Container Registry

    docker run -p 8080:8080 --name gatus ghcr.io/twin/gatus:stable
  2. 2

    Or run it with Docker Hub image

    docker run -p 8080:8080 --name gatus twinproduction/gatus:stable
  3. 3

    Open the dashboard in your browser to see the status page

Things to know

  • Configuration is file-based YAML, so setup requires writing a config file for your endpoints.

Topics

FAQ

What is gatus?
Self-hosted health dashboard that monitors services over HTTP, ICMP, TCP, DNS and more, evaluates response conditions, and sends alerts. Gatus is a developer-oriented health dashboard for monitoring services over HTTP, ICMP, TCP and DNS queries. Each check is evaluated against a list of conditions on values such as status code, response time, certificate expiration, and response body, so a check can fail even when the service responds.
Is gatus free to use? What license does it have?
gatus is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is gatus still maintained?
Actively maintained. The last commit to gatus was on Oct 17, 2026.
What can I use gatus for?
Monitoring your own web services and APIs and getting alerted before users notice outages Running a public status page for internal or customer-facing services Monitoring services in private networks by pushing status from an internal agent Running automated acceptance checks against endpoints with multi-step suites
How do I install gatus?
Run Gatus with Docker from GitHub Container Registry: docker run -p 8080:8080 --name gatus ghcr.io/twin/gatus:stable Or run it with Docker Hub image: docker run -p 8080:8080 --name gatus twinproduction/gatus:stable Open the dashboard in your browser to see the status page
Where can I get gatus?
The source code and installation instructions are on GitHub: https://github.com/TwiN/gatus

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects