⛑ Automated developer-oriented status page
Go to file
2020-04-06 18:58:13 -04:00
.github/workflows Minor fix 2019-09-08 21:31:06 -04:00
config Store config in config instead of root directory 2019-12-28 12:55:00 -05:00
core Prevent multiple services from being evaluated at the same time 2020-04-06 18:58:13 -04:00
example Prevent multiple services from being evaluated at the same time 2020-04-06 18:58:13 -04:00
metric Implement Prometheus metrics 2019-11-16 16:52:11 -05:00
static Minor improvements 2020-03-10 18:34:32 -04:00
vendor Implement Prometheus metrics 2019-11-16 16:52:11 -05:00
watchdog Prevent multiple services from being evaluated at the same time 2020-04-06 18:58:13 -04:00
.dockerignore Add .idea to .dockerignore 2019-10-20 22:38:50 -04:00
.gitignore Remove .idea folder 2019-11-24 13:27:52 -05:00
config.yaml Prevent multiple services from being evaluated at the same time 2020-04-06 18:58:13 -04:00
Dockerfile Store config in config instead of root directory 2019-12-28 12:55:00 -05:00
go.mod Go mod vendor 2019-11-16 16:52:11 -05:00
go.sum Go mod vendor 2019-11-16 16:52:11 -05:00
LICENSE.md Rename LICENSE to LICENSE.md 2019-09-03 22:35:56 -04:00
main.go Add GATUS_CONFIG_FILE env var to support custom config path 2020-03-08 18:16:39 -04:00
README.md Prevent multiple services from being evaluated at the same time 2020-04-06 18:58:13 -04:00

gatus

Docker pulls

A service health dashboard in Go that is meant to be used as a docker image with a custom configuration file.

Live example: https://status.twinnation.org/

Usage

By default, the configuration file is expected to be at config/config.yaml.

You can specify a custom path by setting the GATUS_CONFIG_FILE environment variable.

metrics: true         # Whether to expose metrics at /metrics
services:
  - name: twinnation  # Name of your service, can be anything
    url: https://twinnation.org/health
    interval: 15s     # Duration to wait between every status check (opt. default: 10s)
    conditions:
      - "[STATUS] == 200"
  - name: github
    url: https://api.github.com/healthz
    conditions:
      - "[STATUS] == 200"

Note that you can also add environment variables in the your configuration file (i.e. $DOMAIN, ${DOMAIN})

Docker

Building the Docker image is done as following:

docker build . -t gatus

You can then run the container with the following command:

docker run -p 8080:8080 --name gatus gatus

Running the tests

go test ./... -mod vendor

Using in Production

See the example folder.