explaingit

twin/gatus

10,909GoAudience · ops devopsComplexity · 3/5Setup · easy

TLDR

Gatus is a self-hosted uptime monitor that checks your websites, APIs, and services on a schedule and alerts you via Slack, email, PagerDuty, and dozens more integrations when something goes wrong.

Mindmap

mindmap
  root((Gatus))
    What it does
      Uptime monitoring
      Health checks
      Alerting
    Check types
      HTTP and HTTPS
      TCP and ICMP
      DNS queries
    Integrations
      Slack and Discord
      PagerDuty email
      Twilio Teams
    Deployment
      Docker container
      Kubernetes Helm
      Terraform module
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Monitor website uptime and API health with automatic alerts to Slack or email when checks fail

USE CASE 2

Verify TLS certificate expiry and get alerted before certificates lapse

USE CASE 3

Embed uptime badge images in your README showing live service health status

USE CASE 4

Deploy a Kubernetes monitoring stack using the included Helm chart

Tech stack

GoDockerYAMLHelmTerraform

Getting it running

Difficulty · easy Time to first run · 30min

Configure a YAML file and run a single Docker command to get started.

In plain English

Gatus is a self-hosted tool that keeps watch over your websites, APIs, and other services, then shows you their current status on a simple dashboard. You point it at an address, tell it what a healthy response looks like, and it checks that address on a schedule. If something goes wrong, it sends you an alert. The checks it can run go beyond just "is the website up." You can verify that a response comes back within a time limit, that a status code matches what you expect, that a specific piece of text appears in the body, or that a TLS certificate is not about to expire. This works over HTTP, TCP, ICMP (ping), and DNS queries, so it covers most of the ways a service might be reachable on a network. Alerting is handled through integrations with a large number of services: Slack, Microsoft Teams, PagerDuty, Discord, Telegram, email, Twilio, and dozens more. When a health check fails, Gatus fires an alert to whichever destinations you have configured. You can also set up maintenance windows so it does not send alerts during planned downtime. Configuration is done in a YAML file, making it straightforward to manage in version control or share with a team. The project runs as a Docker container, so deployment is a single command. There is also a Helm chart for Kubernetes environments and a Terraform module if you manage infrastructure that way. A managed hosted version is available at gatus.io for those who do not want to run it themselves. The dashboard displays response times, uptime percentages, and recent incident history. It can also generate embeddable badge images showing current health or uptime for use in other pages or repositories. An API is available for reading health data programmatically. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Write a Gatus YAML config that monitors three HTTP endpoints, checks for a 200 status and response under 500ms, and sends Slack alerts on failure
Prompt 2
Help me configure a Gatus maintenance window so I do not get paged during my weekly deployment window on Sunday nights
Prompt 3
Create a Gatus Docker Compose setup that monitors my API, checks that the JSON response contains a specific field, and sends PagerDuty alerts on failure
Prompt 4
Show me how to use the Gatus API to query current health status programmatically and display it in my own dashboard
Open on GitHub → Explain another repo

← twin on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.