server/docker/gatus/config/config.yaml

186 lines
4.5 KiB
YAML

storage:
type: sqlite
path: /data/data.db
alerting:
ntfy:
url: "https://ntfy.grobecker.me"
topic: "status"
priority: 2
default-alert:
failure-threshold: 3
send-on-resolved: true
endpoints:
- name: homepage
group: exposed
url: "https://grobecker.me"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: forgejo
group: exposed
url: "https://git.grobecker.me"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: stirling-pdf
group: exposed
url: "https://pdf.grobecker.me"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: memos
group: exposed
url: "https://memos.grobecker.me"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: seafile
group: exposed
url: "https://files.grobecker.me"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: archivebox
group: exposed
url: "https://archive.grobecker.me"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: hedgedoc
group: exposed
url: "https://md.grobecker.me"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: it-tools
group: exposed
url: "https://tools.grobecker.me"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: ntfy
group: exposed
url: "https://ntfy.grobecker.me"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: vaultwarden
group: exposed
url: "https://vault.grobecker.me"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: mealie
group: exposed
url: "https://rezepte.grobecker.me"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: actual-budget
group: exposed
url: "https://actual.grobecker.me"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: nextcloud
group: external
url: "https://nx41088.your-storageshare.de"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
# - name: minio
# group: internal
# url: "http://minio:9001"
# conditions:
# - "[STATUS] == 200"
# - name: beszel
# group: exposed
# url: "https://beszel.grobecker.me"
# conditions:
# - "[STATUS] == 200"
# - "[CERTIFICATE_EXPIRATION] > 48h"
# - name: dozzle
# group: exposed
# url: "https://dozzle.grobecker.me"
# conditions:
# - "[STATUS] == 200"
# - "[CERTIFICATE_EXPIRATION] > 48h"
- name: authelia
group: exposed
url: "https://auth.grobecker.me"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: webui
group: mail-stack
url: "https://mail.grobecker.me"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: starttls-smtp
group: mail-stack
url: "starttls://mail.grobecker.me:587"
interval: 30m
client:
timeout: 5s
conditions:
- "[CONNECTED] == true"
- "[CERTIFICATE_EXPIRATION] > 48h"
alerts:
- type: ntfy
- name: tls-imap
group: mail-stack
url: "tls://mail.grobecker.me:993"
interval: 30m
client:
timeout: 5s
conditions:
- "[CONNECTED] == true"
- "[CERTIFICATE_EXPIRATION] > 48h"
alerts:
- type: ntfy
- name: mail-ipv4-dns-query
url: "8.8.8.8" # Address of the DNS server to use
group: mail-stack
dns:
query-name: "mail.grobecker.me"
query-type: "A"
conditions:
- "[BODY] == 91.107.207.162"
- "[DNS_RCODE] == NOERROR"
alerts:
- type: ntfy
- name: mail-ipv6-dns-query
url: "8.8.8.8" # Address of the DNS server to use
group: mail-stack
dns:
query-name: "mail.grobecker.me"
query-type: "AAAA"
conditions:
- "[BODY] == 2a01:4f8:c012:a8bb::1"
- "[DNS_RCODE] == NOERROR"
alerts:
- type: ntfy
- name: mail-mx-dns-query
url: "8.8.8.8" # Address of the DNS server to use
group: mail-stack
dns:
query-name: "grobecker.me"
query-type: "MX"
conditions:
- "[BODY] == mail.grobecker.me."
- "[DNS_RCODE] == NOERROR"
alerts:
- type: ntfy
- name: navidrome
group: media
url: "https://music.grobecker.me"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"