gatus/README.md

59 lines
1.3 KiB
Markdown
Raw Normal View History

2019-09-15 01:59:05 +02:00
# gatus
[![Docker pulls](https://img.shields.io/docker/pulls/twinproduction/gatus.svg)](https://cloud.docker.com/repository/docker/twinproduction/gatus)
2019-09-05 01:37:13 +02:00
2019-09-15 01:25:59 +02: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 03:05:57 +02:00
2019-11-11 22:15:35 +01:00
Live example: https://status.twinnation.org/
2019-09-11 03:05:57 +02:00
## Usage
2019-09-05 01:37:13 +02: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-05 01:37:13 +02:00
```yaml
metrics: true # Whether to expose metrics at /metrics
2019-09-05 01:37:13 +02:00
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)
2019-09-05 01:37:13 +02:00
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}`)
2019-10-28 02:17:55 +01:00
## Docker
Building the Docker image is done as following:
```
2019-10-28 02:17:55 +01:00
docker build . -t gatus
```
2019-09-15 01:25:59 +02:00
2019-10-28 02:17:55 +01:00
You can then run the container with the following command:
2019-09-15 01:25:59 +02:00
2019-10-28 02:17:55 +01:00
```
docker run -p 8080:8080 --name gatus gatus
```
## Running the tests
2019-09-15 01:25:59 +02:00
```
2019-10-28 02:17:55 +01:00
go test ./... -mod vendor
2019-09-15 01:25:59 +02:00
```
## Using in Production
See the [example](example) folder.