2019-09-14 23:59:05 +00:00
|
|
|
# gatus
|
|
|
|
|
|
|
|
[![Docker pulls](https://img.shields.io/docker/pulls/twinproduction/gatus.svg)](https://cloud.docker.com/repository/docker/twinproduction/gatus)
|
2019-09-04 23:37:13 +00:00
|
|
|
|
2019-09-14 23:25:59 +00:00
|
|
|
A service health dashboard in Go that is meant to be used as a docker
|
|
|
|
image with a custom configuration file.
|
2019-09-11 01:05:57 +00:00
|
|
|
|
2019-11-11 21:15:35 +00:00
|
|
|
Live example: https://status.twinnation.org/
|
|
|
|
|
2019-09-11 01:05:57 +00:00
|
|
|
|
2019-09-09 01:07:08 +00:00
|
|
|
## Usage
|
2019-09-04 23:37:13 +00:00
|
|
|
|
2020-03-08 22:16:39 +00:00
|
|
|
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.
|
|
|
|
|
2019-09-04 23:37:13 +00:00
|
|
|
```yaml
|
2019-11-16 20:49:06 +00:00
|
|
|
metrics: true # Whether to expose metrics at /metrics
|
2019-09-04 23:37:13 +00:00
|
|
|
services:
|
2019-09-09 01:07:08 +00:00
|
|
|
- name: twinnation # Name of your service, can be anything
|
2019-09-04 23:37:13 +00:00
|
|
|
url: https://twinnation.org/actuator/health
|
2019-11-16 20:49:06 +00:00
|
|
|
interval: 15s # Duration to wait between every status check (opt. default: 10s)
|
2019-09-04 23:37:13 +00:00
|
|
|
conditions:
|
2019-12-04 22:27:27 +00:00
|
|
|
- "[STATUS] == 200"
|
2019-09-09 01:07:08 +00:00
|
|
|
- name: github
|
|
|
|
url: https://api.github.com/healthz
|
|
|
|
conditions:
|
2019-12-04 22:27:27 +00:00
|
|
|
- "[STATUS] == 200"
|
2019-09-09 01:07:08 +00:00
|
|
|
```
|
|
|
|
|
2019-12-04 22:27:27 +00:00
|
|
|
Note that you can also add environment variables in the your configuration file (i.e. `$DOMAIN`, `${DOMAIN}`)
|
|
|
|
|
2019-09-09 01:07:08 +00:00
|
|
|
|
2019-10-28 01:17:55 +00:00
|
|
|
## Docker
|
|
|
|
|
|
|
|
Building the Docker image is done as following:
|
2019-09-09 01:07:08 +00:00
|
|
|
|
|
|
|
```
|
2019-10-28 01:17:55 +00:00
|
|
|
docker build . -t gatus
|
2019-09-09 01:07:08 +00:00
|
|
|
```
|
2019-09-14 23:25:59 +00:00
|
|
|
|
2019-10-28 01:17:55 +00:00
|
|
|
You can then run the container with the following command:
|
2019-09-14 23:25:59 +00:00
|
|
|
|
2019-10-28 01:17:55 +00:00
|
|
|
```
|
|
|
|
docker run -p 8080:8080 --name gatus gatus
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Running the tests
|
2019-09-14 23:25:59 +00:00
|
|
|
|
|
|
|
```
|
2019-10-28 01:17:55 +00:00
|
|
|
go test ./... -mod vendor
|
2019-09-14 23:25:59 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Using in Production
|
|
|
|
|
|
|
|
See the [example](example) folder.
|