# Overview

URL: https://zerodev.ca/docs/vail

> A self-hosted status page for your websites, servers and game servers.



Vail is a status page you host yourself. It checks your websites, servers and game servers, shows whether each one is up with its response time, and lets you post incidents and announcements. Everything is set in one `settings.json` file, with no database.

## How It Works

Each time someone opens the page, Vail checks every service from your server. Results are cached for 15 seconds, so a busy page does not flood your services. Visitors can press **Refresh** to check again.

| Result                                      | Shown as    |
| ------------------------------------------- | ----------- |
| The service answered normally               | Operational |
| It answered with an error, such as HTTP 404 | Degraded    |
| It did not answer                           | Outage      |

The banner at the top sums up every service: all operational, partly degraded, an active outage, or maintenance when a manual service is set to it.

## Check Types

| Type        | Checks                                                                          |
| ----------- | ------------------------------------------------------------------------------- |
| `http`      | A website or API answers.                                                       |
| `tcp`       | A port accepts connections, such as a VPS or database.                          |
| `minecraft` | A Minecraft server, using its SRV record if it has one and port `25565` if not. |
| `srv`       | Any server found through an SRV record.                                         |
| `manual`    | Nothing. You set the status yourself, for things Vail cannot reach.             |

## What You Get

* Services grouped under your own headings.
* Response times on every check.
* Incident history with a timeline of updates.
* An announcement banner for maintenance notices.
* Discord alerts sent through a protected `/api/notify` endpoint.
* Light and dark mode, your own name, logo and links.
* A layout that works on phones.

`settings.json` is only read on the server. Your Discord webhook and API key are never sent to visitors.

## Guides

<Cards>
  <Card title="Setup Guide" href="/docs/vail/setup" description="Install Vail and put it online." />

  <Card title="Configuration" href="/docs/vail/configuration" description="Site details, theme, announcements and incidents." />

  <Card title="Monitors" href="/docs/vail/monitors" description="Every check type and its options." />

  <Card title="Discord Alerts" href="/docs/vail/discord" description="Post status updates to a Discord channel." />
</Cards>
