diff --git a/glance-system/glance-kisfenyo.yaml b/glance-system/glance-kisfenyo.yaml
index 868d715..57d68ff 100644
--- a/glance-system/glance-kisfenyo.yaml
+++ b/glance-system/glance-kisfenyo.yaml
@@ -681,6 +681,71 @@ data:
height: 900
title: Grafana Overview Dashboard
+ - size: small
+ widgets:
+ - type: custom-api
+ title: Uptime Kuma
+ title-url: ${UPTIME_KUMA_URL}
+ url: ${UPTIME_KUMA_URL}/api/status-page/${UPTIME_KUMA_STATUS_SLUG}
+ subrequests:
+ heartbeats:
+ url: ${UPTIME_KUMA_URL}/api/status-page/heartbeat/${UPTIME_KUMA_STATUS_SLUG}
+ cache: 10m
+ template: |
+ {{ $hb := .Subrequest "heartbeats" }}
+
+ {{ if not (.JSON.Exists "publicGroupList") }}
+
Error reading response
+ {{ else if eq (len (.JSON.Array "publicGroupList")) 0 }}
+ No monitors found
+ {{ else }}
+
+
+ {{ range .JSON.Array "publicGroupList" }}
+ {{ range .Array "monitorList" }}
+ {{ $id := .String "id" }}
+ {{ $hbArray := $hb.JSON.Array (print "heartbeatList." $id) }}
+
+
+ {{ .String "name" }}
+
+ {{ if gt (len $hbArray) 0 }}
+ {{ $latest := index $hbArray (sub (len $hbArray) 1) }}
+ {{ if eq ($latest.Int "status") 1 }}
+
{{ $latest.Int "ping" }}ms
+
+ {{ else }}
+
DOWN
+
+ {{ end }}
+ {{ else }}
+
No data
+
+ {{ end }}
+
+ {{ end }}
+ {{ end }}
+
+ {{ end }}
+
# ==================== MEDIA PAGE ====================
- name: Media
slug: media
@@ -1511,6 +1576,10 @@ spec:
value: "837c7378-7a76-46f7-b8ea-6f35c0a314f4"
- name: ROMM_URL
value: "arcade.dooplex.hu"
+ - name: UPTIME_KUMA_URL
+ value: "https://uptimekuma.dooplex.hu"
+ - name: UPTIME_KUMA_STATUS_SLUG
+ value: "homepage"
ports:
- name: http
containerPort: 8080