reworked gatus
This commit is contained in:
parent
c8b263f67e
commit
2bc1ce5a29
5 changed files with 139 additions and 55 deletions
5
.vscode/extensions.json
vendored
Normal file
5
.vscode/extensions.json
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"recommendations": [
|
||||
"gruntfuggly.todo-tree"
|
||||
]
|
||||
}
|
|
@ -10,3 +10,11 @@ services:
|
|||
labels:
|
||||
- "diun.enable=true"
|
||||
restart: always
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
minio:
|
||||
external: true
|
||||
|
|
|
@ -3,103 +3,118 @@ storage:
|
|||
path: /data/data.db
|
||||
|
||||
endpoints:
|
||||
- name: dashy
|
||||
group: core
|
||||
- name: homepage
|
||||
group: exposed
|
||||
url: "https://grobecker.me"
|
||||
interval: 5m
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[CERTIFICATE_EXPIRATION] > 48h"
|
||||
|
||||
- name: forgejo
|
||||
group: microservices
|
||||
group: exposed
|
||||
url: "https://git.grobecker.me"
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[CERTIFICATE_EXPIRATION] > 48h"
|
||||
alerts:
|
||||
- type: ntfy
|
||||
- name: stirling
|
||||
group: microservices
|
||||
- name: stirling-pdf
|
||||
group: exposed
|
||||
url: "https://pdf.grobecker.me"
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[CERTIFICATE_EXPIRATION] > 48h"
|
||||
alerts:
|
||||
- type: ntfy
|
||||
- name: memos
|
||||
group: microservices
|
||||
group: exposed
|
||||
url: "https://memos.grobecker.me"
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[CERTIFICATE_EXPIRATION] > 48h"
|
||||
alerts:
|
||||
- type: ntfy
|
||||
- name: Seafile
|
||||
group: microservices
|
||||
- name: seafile
|
||||
group: exposed
|
||||
url: "https://files.grobecker.me"
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[CERTIFICATE_EXPIRATION] > 48h"
|
||||
alerts:
|
||||
- type: ntfy
|
||||
- name: archivebox
|
||||
group: microservices
|
||||
group: exposed
|
||||
url: "https://archive.grobecker.me"
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[CERTIFICATE_EXPIRATION] > 48h"
|
||||
alerts:
|
||||
- type: ntfy
|
||||
- name: hedgedoc
|
||||
group: microservices
|
||||
group: exposed
|
||||
url: "https://md.grobecker.me"
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[CERTIFICATE_EXPIRATION] > 48h"
|
||||
alerts:
|
||||
- type: ntfy
|
||||
- name: nextcloud
|
||||
group: microservices
|
||||
url: "https://nx41088.your-storageshare.de"
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[CERTIFICATE_EXPIRATION] > 48h"
|
||||
alerts:
|
||||
- type: ntfy
|
||||
- name: it-tools
|
||||
group: microservices
|
||||
group: exposed
|
||||
url: "https://tools.grobecker.me"
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[CERTIFICATE_EXPIRATION] > 48h"
|
||||
alerts:
|
||||
- type: ntfy
|
||||
- name: ntfy
|
||||
group: microservices
|
||||
group: exposed
|
||||
url: "https://ntfy.grobecker.me"
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[CERTIFICATE_EXPIRATION] > 48h"
|
||||
alerts:
|
||||
- type: ntfy
|
||||
- name: vaultwarden
|
||||
group: microservices
|
||||
group: exposed
|
||||
url: "https://vault.grobecker.me"
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[CERTIFICATE_EXPIRATION] > 48h"
|
||||
alerts:
|
||||
- type: ntfy
|
||||
- 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
|
||||
group: mail-stack
|
||||
url: "https://mail.grobecker.me"
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[CERTIFICATE_EXPIRATION] > 48h"
|
||||
- name: starttls-smtp
|
||||
group: mail
|
||||
group: mail-stack
|
||||
url: "starttls://mail.grobecker.me:587"
|
||||
interval: 30m
|
||||
client:
|
||||
|
@ -110,7 +125,7 @@ endpoints:
|
|||
alerts:
|
||||
- type: ntfy
|
||||
- name: tls-imap
|
||||
group: mail
|
||||
group: mail-stack
|
||||
url: "tls://mail.grobecker.me:993"
|
||||
interval: 30m
|
||||
client:
|
||||
|
@ -122,7 +137,7 @@ endpoints:
|
|||
- type: ntfy
|
||||
- name: mail-ipv4-dns-query
|
||||
url: "8.8.8.8" # Address of the DNS server to use
|
||||
group: mail
|
||||
group: mail-stack
|
||||
dns:
|
||||
query-name: "mail.grobecker.me"
|
||||
query-type: "A"
|
||||
|
@ -133,7 +148,7 @@ endpoints:
|
|||
- type: ntfy
|
||||
- name: mail-ipv6-dns-query
|
||||
url: "8.8.8.8" # Address of the DNS server to use
|
||||
group: mail
|
||||
group: mail-stack
|
||||
dns:
|
||||
query-name: "mail.grobecker.me"
|
||||
query-type: "AAAA"
|
||||
|
@ -144,7 +159,7 @@ endpoints:
|
|||
- type: ntfy
|
||||
- name: mail-mx-dns-query
|
||||
url: "8.8.8.8" # Address of the DNS server to use
|
||||
group: mail
|
||||
group: mail-stack
|
||||
dns:
|
||||
query-name: "grobecker.me"
|
||||
query-type: "MX"
|
||||
|
@ -154,11 +169,9 @@ endpoints:
|
|||
alerts:
|
||||
- type: ntfy
|
||||
|
||||
alerting:
|
||||
ntfy:
|
||||
url: "https://ntfy.grobecker.me"
|
||||
topic: "status"
|
||||
priority: 2
|
||||
default-alert:
|
||||
failure-threshold: 3
|
||||
send-on-resolved: true
|
||||
- name: navidrome
|
||||
group: media
|
||||
url: "https://music.grobecker.me"
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[CERTIFICATE_EXPIRATION] > 48h"
|
||||
|
|
53
docs/gatus.md
Normal file
53
docs/gatus.md
Normal file
|
@ -0,0 +1,53 @@
|
|||
# Gatus
|
||||
|
||||
## Currently monitored services
|
||||
|
||||
- homepage
|
||||
- forgejo
|
||||
- stirling-pdf
|
||||
- memos
|
||||
- seafile
|
||||
- archivebox
|
||||
- hedgedoc
|
||||
- it-tools
|
||||
- ntfy
|
||||
- vaultwarden
|
||||
- minio
|
||||
- mealie
|
||||
- beszel
|
||||
- dozzle
|
||||
- actual-budget
|
||||
- navidrome
|
||||
- authelia
|
||||
- nextcloud
|
||||
- mailcow (several checks)
|
||||
|
||||
## Categories
|
||||
|
||||
old:
|
||||
|
||||
- core
|
||||
- microservices
|
||||
- mail
|
||||
|
||||
reworked:
|
||||
|
||||
- exposed (like what the user can access)
|
||||
- internal (what the user can't _directly_ access or is meant for admins)
|
||||
- external (what isn't hosted by me directly)
|
||||
- mail-stack (an extra category for my mail stuff)
|
||||
- media (services that are media-related and are only accessible by certain people → **not public**)
|
||||
|
||||
## Templates
|
||||
|
||||
website:
|
||||
|
||||
```yaml
|
||||
endpoints:
|
||||
- name: webui
|
||||
group: mail
|
||||
url: "https://mail.grobecker.me"
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[CERTIFICATE_EXPIRATION] > 48h"
|
||||
```
|
|
@ -14,3 +14,8 @@
|
|||
- memcached updated (project)
|
||||
- postgres updated (mealie)
|
||||
- removed miniflux
|
||||
- minio:
|
||||
- removed ports
|
||||
- added gatus to network
|
||||
- gatus:
|
||||
- reworked config (see [here](/docs/gatus.md))
|
||||
|
|
Loading…
Reference in a new issue