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:
@@ -63,6 +63,10 @@ I use 3 Paths strategies, they are all considered private:
|
||||
1. CONFIG_PATH usually ./config is stored in git (text files)
|
||||
1. LOG_PATH, usually ./logs is not stored in git or backed up.
|
||||
|
||||
#### Prefered Containers
|
||||
|
||||
- UptimeKuma - I prefer Gatus over UptimeKuma and have remove UptimeKuma.
|
||||
|
||||
## Similar Projects
|
||||
|
||||
* [Awesome Compose](https://github.com/docker/awesome-compose/) - A starting point for integrating different services using a Compose 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
|
||||
```
|
||||
@@ -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
|
||||
@@ -1,18 +0,0 @@
|
||||
# uptimekuma
|
||||
|
||||
## Overview
|
||||
|
||||
Proxy Port: 3001
|
||||
|
||||
* [Official Website](https://uptime.kuma.pet/)
|
||||
* [Dockerhub](https://hub.docker.com/r/louislam/uptime-kuma)
|
||||
* [Github](https://github.com/louislam/uptime-kuma/tree/1.23.X)
|
||||
* [Docker Compose Example](https://github.com/louislam/uptime-kuma/blob/1.23.X/docker/docker-compose.yml)
|
||||
|
||||
## Summary
|
||||
|
||||
Uptime Kuma is a self-hosted monitoring tool that tracks the uptime and response time of websites, services, and network devices. It provides a sleek, user-friendly dashboard with real-time status updates, customizable notifications, and support for multiple monitoring protocols like HTTP(s), TCP, and ICMP (ping). Ideal for personal and business use, Uptime Kuma helps ensure your critical services remain online.
|
||||
|
||||
## Notes
|
||||
|
||||
By default uptime kuma uses sqlite.
|
||||
@@ -1,6 +0,0 @@
|
||||
services:
|
||||
uptimekuma:
|
||||
image: ${UPTIMEKUMA_IMAGE:-louislam/uptime-kuma:latest}
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ${VOL_PATH:-./data}/uptimekuma-data:/app/data
|
||||
@@ -1,3 +0,0 @@
|
||||
|
||||
COOKBOOK=/git/docker-compose-cookbooks #HELP: cookbooks
|
||||
UPTIMEKUMA_IMAGE=louislam/uptime-kuma:1
|
||||
Reference in New Issue
Block a user