12,689
stars
+30+208+411
896
forks
43
watchers
984
prs
770
issues
132
releases
137
discussions
README
!test
Gatus is a developer-oriented health dashboard that gives you the ability to monitor your services using HTTP, ICMP, TCP, and even DNS
queries as well as evaluate the result of said queries by using a list of conditions on values like the status code,
the response time, the certificate expiration, the body and many others. The icing on top is that each of these health
checks can be paired with alerting via Slack, Teams, PagerDuty, Discord, Twilio and many more.
I personally deploy it in my Kubernetes cluster and let it monitor the status of my
core applications: https://status.twin.sh/
_Looking for a managed solution? Check out Gatus.io._
Quick start
console
docker run -p 8080:8080 --name gatus ghcr.io/twin/gatus:stable
You can also use Docker Hub if you prefer:
console
docker run -p 8080:8080 --name gatus twinproduction/gatus:stable
For more details, see Usage
❤ Like this project? Please consider sponsoring me.
!Gatus dashboard
Have any feedback or questions? Create a discussion.
Table of Contents
- Table of Contents
- Why Gatus?
- Features
- Usage
- Configuration
- Endpoints
- External Endpoints
- Suites (ALPHA)
- Conditions
- Placeholders
- Functions
- Web
- UI
- Announcements
- Storage
- Client configuration
- Tunneling
- Alerting
- Configuring AWS SES alerts
- Configuring Bark alerts
- Configuring ClickUp alerts
- Configuring Datadog alerts
- Configuring Discord alerts
- Configuring Email alerts
- Configuring Gitea alerts
- Configuring GitHub alerts
- Configuring GitLab alerts
- Configuring Google Chat alerts
- Configuring Gotify alerts
- Configuring HomeAssistant alerts
- Configuring IFTTT alerts
- Configuring Ilert alerts
- Configuring Incident.io alerts
- Configuring Line alerts
- Configuring Matrix alerts
- Configuring Mattermost alerts
- Configuring Messagebird alerts
- Configuring n8n alerts
- Configuring New Relic alerts
- Configuring Ntfy alerts
- Configuring Opsgenie alerts
- Configuring PagerDuty alerts
- Configuring Plivo alerts
- Configuring Pushover alerts
- Configuring Resend alerts
- Configuring Rocket.Chat alerts
- Configuring SendGrid alerts
- Configuring Signal alerts
- Configuring SIGNL4 alerts
- Configuring Slack alerts
- Configuring Splunk alerts
- Configuring Squadcast alerts
- Configuring Teams alerts (Deprecated)
- Configuring Teams Workflow alerts
- Configuring Telegram alerts
- Configuring Twilio alerts
- Configuring Vonage alerts
- Configuring Webex alerts
- Configuring Zapier alerts
- Configuring Zulip alerts
- Configuring custom alerts
- Setting a default alert
- Maintenance
- Security
- Basic Authentication
- OIDC
- TLS Encryption
- Metrics
- Custom Labels
- Connectivity
- Remote instances (EXPERIMENTAL)
- Deployment
- Docker
- Helm Chart
- Terraform
Top issues
#64Distributed Deployment Configuration50 comments · 2020-12-30#88web.context-root is needed if the URL can not be rewritten.27 comments · 2021-02-21#1159Run Domain Expiration checks on the root domain19 comments · 2025-07-12#106feat(ui): Add a button to navigate to external links18 comments · 2021-05-09#714Support 1 year uptime badges16 comments · 2024-03-23#553Feature: Group ordering13 comments · 2023-08-23#321User local timezone not taken into consideration when generating response time chart13 comments · 2022-08-19#287feat(alerting): Add support for placeholders in alerts of all types12 comments · 2022-06-07
Discussions
#1889Expecting a TLS error condition1 comments · 2026-10-28#1866Review request: retry failed recovery notifications (#1833)0 comments · 2026-10-18#1865cairn: a front page for the people you host for, with Gatus status pills0 comments · 2026-10-18#1846Apparently, the brasil governement is using gatus ?1 comments · 2026-10-07#1820Has anyone tried to do a dynamic monitoring endpoint?0 comments · 2026-09-25#1816Free scheduling explorer: restarts before the first external-endpoint heartbeat0 comments · 2026-09-23#1794Sending a file to the endpoint0 comments · 2026-09-08#1757gatus is it possible to change resopnse color depend on condition?1 comments · 2026-08-13
Latest release
v5.38.0 v5.38.0 2026-10-28What's Changed feat(alerting): add Resend alerting provider by @geffersonFerraz in https://github.com/TwiN/gatus/pull/1830 fix(maintenance): validate maintenance windows for external, DNS and SSH endpoints by @anandghegde in https://github.com/TwiN/gatus/pull/1804 fix(alerting): Redact telegram token from errors on send failure by @hippi345 in https://github.com/TwiN/gatus/pull/1843 fix(websocket): apply the client timeout to reads and writes by @somaz94 in https://github.com/TwiN/gatus/pull/1845 fix(ssh): support keyboard-interactive authentication for endpoints and tunnels by @peck