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: traggo group: exposed url: "https://traggo.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"