On this page
Overview
Gatus actively probes services and evaluates conditions such as status codes, response times, response bodies, and certificate expiration. Results appear on a status dashboard and can trigger many alerting providers including Slack and PagerDuty.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Actively monitor endpoints across several protocols
Probe HTTP, ICMP, TCP, DNS, gRPC, WebSocket, SSH, TLS, and other endpoints on a schedule, allowing availability checks even when no user traffic is present.
Sources: [2]
Evaluate status, body, response-time, and other conditions
Health checks can combine conditions on JSON or response body content, response time, IP address, certificate expiration, status codes, and other values.
Sources: [2]
Keep status pages and alert providers in the same configuration
The dashboard exposes endpoint state while Slack, PagerDuty, Discord, Twilio, email, custom providers, and many other integrations handle notifications.
Sources: [2]
Best fit
Fits smaller active-monitoring setups managed as YAML in Git
It is relevant for development and SRE teams that want monitor definitions and conditions in configuration files deployed through Docker or Kubernetes.
Sources: [2]
Before adoption
Keep alert credentials out of committed configuration
Configuration supports environment-variable expansion. Inject webhook URLs and tokens from deployment secrets rather than committing them directly.
Sources: [2]
Configure persistent storage when history must survive restarts
Gatus exposes storage configuration for deployments that need monitoring history and state to persist across application restarts.
Sources: [2]
Review Basic Auth, OIDC, and TLS for public status pages
Externally exposed deployments should configure the appropriate authentication, TLS, and public-path settings for their audience.
Sources: [2]
Official sources
- [1]TwiN/gatus repository(2026-10-01)
- [2]Gatus README(2026-10-01)
- [3]Gatus v5.37.0 release(2026-10-01)
- [4]Gatus Apache-2.0 license(2026-10-01)
Supplemental curator note
Gatus complements traffic-driven metrics by actively probing services and evaluating status codes, response times, bodies, certificate expiry, and other conditions. Its YAML configuration makes it a practical fit when a smaller active-monitoring stack should live in version control.
Try it in 3 steps
- 1
Create a minimal monitor configuration
Create a small YAML configuration that checks status code and response time.
mkdir -p gatus/config && cd gatus && cat > config/config.yaml <<'YAML' endpoints: - name: example url: https://example.org interval: 60s conditions: - '[STATUS] == 200' - '[RESPONSE_TIME] < 1000' YAML - 2
Start Gatus
Run the official stable container image with the local configuration mounted at /config.
docker run --rm -p 8080:8080 -v "$(pwd)/config:/config" ghcr.io/twin/gatus:stable - 3
Open the status dashboard
Inspect endpoint status and response time, then add alert providers or persistent storage as required.
Open http://localhost:8080
Growth
Growth trends · Last 30 days
12,211 Stars
Trend data is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- alerting
- container
- dashboard
- devops
- docker
- go
- golang
- health
- monitor
- monitoring
- monitoring-tool
- notifications
- Stars
- 12,211
- Forks
- 844
- Watchers
- 44
- Open issues
- 394
- Owner type
- User
- Primary language
- Go
- License
- Apache-2.0
- Repository last updated
- Sep 30, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Langfuse35,212 Stars
3 shared tag(s) · 2 shared category(s)
connect LLM application tracing, evaluation, and prompt improvement
TypeScript - openstatus9,155 Stars
3 shared tag(s) · 2 shared category(s)
manage monitoring, status pages, and incidents as code
TypeScript - uptimepage36 Stars
3 shared tag(s) · 2 shared category(s)
run monitoring, status pages, and on-call workflows from one self-hostable service
Rust - Prometheus66,312 Stars
3 shared tag(s) · 1 shared category(s) · Same language
monitor and alert on time-series metrics with PromQL and pull-based collection
Go - CasaOS37,267 Stars
3 shared tag(s) · 1 shared category(s) · Same language
manage Docker apps, files, and storage on a Linux home server through a personal-cloud UI
Go - 1Panel37,056 Stars
3 shared tag(s) · 1 shared category(s) · Same language
centralize Linux server, Docker, web, database, backup, and AI operations in one privileged control plane
Go
Report incorrect information
Tell us if any listing information is incorrect or outdated.