Monitor Everything: How to Set Up Gatus in 5 Minutes
Your Services Deserve Better Monitoring
Every self-hosted service will go down eventually. The question is not if it will happen, but how quickly you will find out. Gatus solves this problem elegantly: it is a single Docker container that continuously checks your services and notifies you the instant something breaks. Here is how to set it up in minutes.
Quick Start with Docker
Run Gatus with a single command:
docker run -p 8080:8080 --name gatus twinproduction/gatus:latest
That is it! Gatus starts with a default configuration that monitors its own health. Visit http://localhost:8080 to see your first status page.
Defining Your Endpoints
Create a config.yaml file to monitor your real services:
endpoints:
- name: "My Web App"
url: "https://myapp.example.com"
conditions:
- "[STATUS] == 200"
- "[RESPONSE_TIME] < 500"
- name: "Database"
url: "tcp://db.example.com:5432"
conditions:
- "[CONNECTED] == true"
- name: "SSL Certificate"
url: "https://myapp.example.com"
conditions:
- "[CERTIFICATE_EXPIRATION] > 7d"
Setting Up Alerts
Get notified when services go down. Here is a Slack alert example:
alerting:
slack:
webhook-url: "https://hooks.slack.com/services/..."
default-alert:
enabled: true
description: "Health check failed"
send-on-resolved: true
failure-threshold: 3
success-threshold: 2
Gatus supports alerting to Slack, Discord, Telegram, Email, Pushover, PagerDuty, Opsgenie, Gotify, Mattermost, Teams, Google Chat, and custom webhooks.
Uptime Badges
Add beautiful SVG badges to your README or website showing real-time uptime and response times.
Docker Compose (Production Setup)
For a persistent setup with auto-restart:
services:
gatus:
image: twinproduction/gatus:latest
restart: unless-stopped
ports:
- 8080:8080
volumes:
- ./data/gatus:/data
- ./config.yaml:/config/config.yaml
Why Choose Gatus?
- vs. Uptime Kuma: Gatus is configuration-as-code (YAML) instead of UI-driven — better for GitOps workflows
- vs. Statuspage.io: Gatus is free, self-hosted, and has no endpoint limits
- vs. Pingdom: Gatus lives on your infrastructure, checking from inside your network
Conclusion
Gatus is the perfect monitoring companion for any self-hosted stack. It is lightweight, developer-friendly, and incredibly capable. Deploy it today and never discover an outage from your users again.