Presenting ilias, yet another dashboard because obviously the world needed one more
Presenting ilias, yet another dashboard because obviously the world needed one more
Loved that idea so much that I went and implemented it: - The checks now have an automatic type inferrence and shorthand - introduced default rules that are used when nothing’s configured - realized that yaml-anchors always worked thanks to the lib I’m using.
So now with this preamble:
# Defaults are used when nothing is defined at the slot level. They can be overridden by defining rules directly on a slot.
defaults:
rules:
- match:
code: 0
status: { id: ok, label: "✅" }
- match: {}
status: { id: error, label: "❌" }
# YAML anchors: reusable fragments ilias doesn't interpret directly...
# it's all just yaml
_anchors:
pct_rules: &pct_rules # works for disk, memory, CPU …
- match:
output: "^[0-6]\\d%$|^[0-9]%$"
status: { id: ok, label: "✅ <70%" }
- match:
output: "^[7-8]\\d%$"
status: { id: warn, label: "⚠️ 70–89%" }
- match: {}
status: { id: critical, label: "🔴 ≥90%" }
I can now have a tile like this:
- name: Memory
slots: # combine anchors and default rules as well as check shorthands
- name: usage
check: "free | awk '/^Mem:/ {printf \"%.0f%\", $3/$2 * 100}'"
rules: *pct_rules
- name: available
check: "free -h | awk '/^Mem:/ {print $7 \" free\"}'"
# uses default rules
- name: total
check: "free -h | awk '/^Mem:/ {print $2 \" total\"}'"
# uses default rules
And the best? It’s fully backwards compatible ❤️
Thanks again for the suggestion!
siteMonitor
Yes, I’m aware of that, but I always found it weird to have a live service for something that hardly ever changes. And then I had the idea of this whole “fully self contained html”, and now I can’t imagine it another way 😆
That’s just opinions though, and if Homepage strikes your fancy go for it - it’s an awesome project.
Its just an idea…
When my router says “threat” and gives me an IP address, this address gets added to a big ass database that all routers see. Then every router in the world blocks their ass out…get them to go to a government office and ID themselves as an adult if they want back in.
soo… servers your router doesn’t like for whatever reason blocked for everyone else? with gov ID checks? why would we want that?
and how is this a dashboard idea?
The only problem is it probably IS an adult human, a 85 year old running windows XP to check the church newsletter every Sunday.
(the newsletter is also hosted on xp)
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters DNS Domain Name Service/System IP Internet Protocol PiHole Network-wide ad-blocker (DNS sinkhole) RPi Raspberry Pi brand of SBC SBC Single-Board Computer[Thread #124 for this comm, first seen 1st Mar 2026, 20:20] [FAQ] [Full list] [Contact] [Source code]
I love grafana, but it’s a resource hog, and my machine isn’t powerful. Prometheus/node_exporter however is as lightweight as it can get.
So I made a little Python script that fetches the data from Prometheus and uses mathplotlib to generate a graph.
The dashboard calls that python script for every configured graph and embeds the image so it looks nice.
You can find the script in one of my other repos (Prometheus-renderer probably), but there are dozen similar ones: search github for Prometheus renderer and you’ll see
If there are other things unclear, please don’t hesitate to ask