mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-03 18:36:22 +00:00
Gatus Ready
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# Gatus
|
||||
|
||||
## Overview
|
||||
|
||||
Track uptime.
|
||||
|
||||
## Project Details
|
||||
|
||||
- **Project Repository:** [Link](https://github.com/TwiN/gatus)
|
||||
- **Container Image:** [Docker Hub](https://hub.docker.com/r/twinproduction/gatus)
|
||||
- **Documentation:** [Docs](https://gatus.io/)
|
||||
- **Reverse Proxy Port:** `8080`
|
||||
|
||||
## Volume Notes
|
||||
|
||||
There are two mounts
|
||||
CONFIG_FILE - Where the yaml config file lives. Likely stored to a repo somewhere.
|
||||
VOL_DATA - Which is the persistant data.
|
||||
|
||||
Note the db must be set in the config file for persistant to happen.
|
||||
|
||||
There is an example config.yaml file in this repo.
|
||||
|
||||
## Dockhand Stack, Deploy from Git
|
||||
|
||||
Cookbooks Repository
|
||||
stackname: Gatus
|
||||
Compose file path: gatus/compose.yaml
|
||||
Additional env file (optional): gatus/sample.env
|
||||
|
||||
Then "Load" gatus/sample.env into the Environmental variables in dockhand, then modify.
|
||||
|
||||
Create the Stack
|
||||
|
||||
## Docker Run
|
||||
|
||||
This one would be pretty easy to run on its own:
|
||||
|
||||
```
|
||||
docker run -d \
|
||||
-e TZ=America/Vancouver \
|
||||
-p 8080:8080 \
|
||||
-v /data/config.yml:/config/config.yaml \
|
||||
-v /data/gatus:/config/data \
|
||||
twinproduction/gatus:latest
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
# Gatus
|
||||
services:
|
||||
gatus:
|
||||
image: ${GATUS_IMAGE:-twinproduction/gatus:latest}
|
||||
restart: ${GATUS_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- ${CONFIG_PATH:-/data/config.yml}:/config/config.yaml
|
||||
- ${VOL_PATH:-/data}/gatus:/config/data
|
||||
environment:
|
||||
- TZ=${TZ:-America/Vancouver}
|
||||
ports:
|
||||
- ${GATUS_PORT:-8080}:8080
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
@@ -0,0 +1,47 @@
|
||||
web:
|
||||
port: 8080
|
||||
|
||||
storage:
|
||||
type: sqlite
|
||||
path: /config/data/data.db
|
||||
|
||||
ui:
|
||||
title: "Status"
|
||||
description: "Service monitoring dashboard"
|
||||
|
||||
alerting:
|
||||
ntfy:
|
||||
url: "https://ntfy.example.com/"
|
||||
topic: "Downtime"
|
||||
token: "replace_with_token"
|
||||
priority: 3
|
||||
default-alert:
|
||||
# send alert after first failure
|
||||
failure-threshold: 1
|
||||
# send when service recovers
|
||||
send-on-resolved: true
|
||||
# group-specific overrides
|
||||
overrides: []
|
||||
|
||||
endpoints:
|
||||
|
||||
# 🔧 Gitea (your main service)
|
||||
- name: "Gitea"
|
||||
url: "https://git.example.com"
|
||||
interval: 60s
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
|
||||
# 🌐 External example
|
||||
- name: "4lights"
|
||||
url: "https://www.4lt.ca"
|
||||
interval: 60s
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
|
||||
# 🐳 Internal Docker service (example)
|
||||
- name: "Gitea (internal)"
|
||||
url: "http://gitea:3000"
|
||||
interval: 60s
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
@@ -0,0 +1,10 @@
|
||||
# Gatus
|
||||
|
||||
TZ=America/Vancouver
|
||||
CONFIG_PATH=/data/config.yml
|
||||
VOL_PATH=/data
|
||||
GATUS_RESTART=unless-stopped
|
||||
GATUS_PORT=8080
|
||||
GATUS_IMAGE=ghcr.io/twin/gatus:stable
|
||||
#or dockerhub
|
||||
#GATUS_IMAGE=twinproduction/gatus:latest
|
||||
Reference in New Issue
Block a user