Gatus Ready

This commit is contained in:
2026-04-20 21:38:22 +00:00
parent ff525dc820
commit 20fd0c432b
8 changed files with 123 additions and 27 deletions
+46
View File
@@ -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
```
+16
View File
@@ -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
+47
View File
@@ -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"
+10
View File
@@ -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