whatisgithub

What is gatus?

twin/gatus — explained in plain English

Analysis updated 2026-06-24

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

In one sentence

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

What do people build with it?

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

What is it built with?

GoDockerYAMLHelmTerraform

How does it compare?

twin/gatusferretdb/ferretdbhashicorp/terraform-provider-aws
Stars10,90910,93610,874
LanguageGoGoGo
Setup difficultyeasymoderatemoderate
Complexity3/53/53/5
Audienceops devopsdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

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

So what is it?

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

Frequently asked questions

What is gatus?

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.

What language is gatus written in?

Mainly Go. The stack also includes Go, Docker, YAML.

How hard is gatus to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is gatus for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.