Monitor your infrastructure.

Gatus

Config-as-code status page — monitor HTTP, TCP, DNS and ICMP endpoints from a single YAML file, with 40+ alert integrations. Under 256 MB RAM, no database.

512 MB RAM 1 vCPU Port 8080 Available

Tech stack

DockerGoSQLite
Minimum RAM512 MB
Minimum CPU1 vCPU
Default port8080
Compatible OSChoice of Linux distributions

Gatus (~11.7 k GitHub stars, Apache 2.0, Go) is a self-hosted health dashboard and public status page driven entirely by a YAML configuration file. You list your endpoints — HTTP URLs, TCP addresses, DNS resolvers, ICMP hosts — alongside the conditions that define "healthy" (status code, response time, body content, certificate expiry), and Gatus polls them on a configurable interval and publishes the results as a clean, shareable status page.

Self-hosting Gatus on a ServOrbit VPS gives you a private status page and monitoring hub with no third-party account and no monthly fee. A single Go binary runs in one Docker container using under 256 MB of RAM, persisting check history in a SQLite database — no PostgreSQL, no Redis, no complex infrastructure. The YAML config file lives on your VPS at `/opt/stacks/gatus/config/config.yaml`: edit it and restart the container to add or update monitored endpoints.

Gatus includes 40+ alerting integrations — Slack, PagerDuty, OpsGenie, Discord, Teams, ntfy, Pushover, email and more — that notify you the moment an endpoint goes down or recovers. The status page is clean enough to share publicly with customers or colleagues, and developer-friendly enough to be version-controlled alongside your infrastructure as code.

Key features

Monitor HTTP, TCP, DNS, ICMP and WebSocket endpoints from a single YAML config file — no UI required to add or update monitored services.
Rich health conditions: check status code, response time (ms), TLS certificate expiry (days remaining), body content regex match, and JSON body values in one endpoint definition.
40+ alerting integrations: Slack, PagerDuty, OpsGenie, Discord, Teams, ntfy, Pushover, Telegram, email — with configurable failure and success thresholds before alerting to avoid flap noise.
Uptime badges embeddable in any README or web page — always live, no extra service needed.
Public or private status page with a clean light/dark UI — share with customers, embed in a dashboard, or restrict access by CIDR block.
SQLite-backed check history — view per-endpoint uptime over 1 h, 24 h, 7 d and longer; configurable retention.
External service checks: DNS resolution, ICMP ping, WebSocket echo — monitor more than just HTTP APIs.
Under 256 MB RAM, single Go binary in a distroless container — the lightest self-hosted status page in its class.

When to use this solution?

1

Public API status page for your SaaS

Add your API, website, CDN and payment provider URLs as Gatus endpoints with HTTP conditions. Gatus polls them every minute and renders a public status page — customers check service health without emailing support, and you get instant Slack or ntfy alerts the moment any endpoint degrades. Version-control the YAML file alongside your infrastructure and update it with every new service you ship.

2

Internal infrastructure monitoring for dev teams

Monitor internal services unreachable from external probes: staging APIs, private dashboards, PostgreSQL reachability, SSL certificate expiry on internal domains. Gatus runs on the same VPS network as your stack — it can reach `http://localhost:3000` or `tcp://db:5432` and alert on degradation before users notice. Team members bookmark the internal Gatus URL instead of SSHing in to check service logs.

3

Automated TLS certificate expiry alerting

Add any HTTPS endpoint and a `[CERTIFICATE_EXPIRATION] > 14d` condition. Gatus checks the TLS certificate on every poll and triggers a Slack, Discord, or ntfy alert when fewer than 14 days remain. Never lose a domain to an expired certificate again — the alert arrives days before renewal is urgent, with enough time to act without scrambling.

Deploy Gatus on your VPS

Guide optimized for ServOrbit Cloud VPS.

01

Order a ServOrbit VPS

Any plan with 512 MB RAM is sufficient — Gatus idles under 256 MB RAM and has no GPU or database dependency. For the most accurate uptime checks, place Gatus on a separate VPS from the services it monitors: if the application VPS goes down, the monitoring VPS can still alert you.

02

One-click deploy from the marketplace

Open your ServOrbit dashboard → Marketplace → Monitoring → Gatus → Deploy. An init container writes a sample config file and Gatus starts within seconds. The status page is accessible at http://your-vps-ip:8080 immediately.

03

Edit the config file to add your endpoints

SSH into your VPS and edit /opt/stacks/gatus/config/config.yaml. Replace the sample endpoint with your services: URLs, TCP ports, DNS checks or ICMP hosts. Restart Gatus with cd /opt/stacks/gatus && docker compose restart gatus — the new endpoints appear on the status page within seconds.

04

Configure alerting

Add an alerting: block to your config with your preferred channel — Slack webhook, Discord webhook, ntfy server URL or email. Each endpoint specifies alerts: [{type: slack, failure-threshold: 2}] so Gatus only alerts after two consecutive failures, filtering out transient blips before paging your team.

05

Share the status page

The status page at port 8080 is ready to share. Point a subdomain (status.your-domain.com) at your VPS and configure nginx to proxy port 8080, or enable requireDomain: true in the marketplace to get a fully configured nginx vhost from ServOrbit.

Frequently asked questions

Gatus is a developer-oriented, config-as-code status page and health monitoring tool (~11.7 k stars, Apache 2.0). Uptime Kuma is a UI-first uptime monitor with a visual dashboard — great for adding monitors without touching a config file. Gatus is the opposite: you define everything in a YAML file that you can version-control and deploy idempotently. Gatus also supports richer health conditions (response time, TLS expiry, body regex, DNS resolution) and produces a public-facing status page suitable for sharing with end users.

Monitor your infrastructure.

Activate Gatus on your infrastructure.

Dedicated Cloud VPS — IPv4 included, European datacenter, support included. Your data never leaves your server.

Recommended configuration: 512 MB RAM · 1 vCPU

Need help?

Browse our help center and FAQ, or write to our team — support in French, English and Arabic.