| Post Reply | RetroFed Forum Forum Index » Selfhosted |
| Author | Message | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
halfdane
piefed.social
halfdane@piefed.social Joined: 2025-12-28 |
You know how it goes. You're happily using Homer or Homepage for your home-lab dashboard. It's great. It looks nice. It does its job. But then one evening you think: "Wouldn't it be cool if the dashboard actually showed whether my services are alive without building a custom tile for homer?" And instead of, oh I don't know, contributing to homer or using Uptime Kuma next to it like a reasonable person, you go full not-invented-here and build your own thing from scratch. So here's ilias, a static HTML dashboard generator that actually checks your stuff.
What makes it different from Homer / Homarr / Dashy / the other 47 dashboards? It actually runs arbitrary checks. You give it a YAML config with HTTP endpoints and shell commands, and it:
The output is literally one The "why should I care" summary
Quick taste Minimal config:
Done. Open Want to check disk space too? Add a command check:
Hover over any status to see the raw command output in a tooltip. Regex matching on stdout. Exit codes. The works. "But what about..." Uptime Kuma? Uptime Kuma is excellent for monitoring with alerting, history, and notifications. ilias can't do any of that! It's for when you want a single glanceable status page that you regenerate every 5 minutes via cron ro whatever. No history, no alerts, no database. Just "is everything green right now." Homer? Homer is a beautiful bookmark dashboard. ilias took that idea and asked "what if the bookmarks could tell you if my random, unsupported service behind them is actually working?" If you just want a pretty link page or use the services already supported, Homer is great. If you want status checks for everything baked in, give ilias a try. Links
Edit: Edit 2: And since I couldn't stop worrying, I added:
If you're using these, I feel much better about making the html publicly accessible, but when you set up a config please remember that link-tags can expose your internal topology and the tile/slot name might do the same! Don't go naming your tiles something like "Database Primary", "Payment Service Worker", or "Internal Auth API"! |
||||||||||||||
| 121 Original | |||||||||||||||
|
themachine
lemmy.world
themachine@lemmy.world Joined: 2023-06-12 |
Ok, you might have finally gotten me to consider a "dashboard". I've been wanting a simple public facing service status page and this sounds like a nice solution. |
||||||||||||||
| 19 | |||||||||||||||
|
halfdane
piefed.social
halfdane@piefed.social Joined: 2025-12-28 |
Ok, you might have finally gotten me to consider a "dashboard". I've been wanting a simple public facing service status page and this sounds like a nice solution.
Awesome, thanks for the consideration! Please don't immediately start public facing however - I literally just bashed the thing together in an afternoon, so who knows what kind of exploitable information leaks it might bring! I'm personally using it from within a tailnet, so not public facing. Edit:
If you're using these, I feel much better about making the html publicly accessible, but when you set up a config please remember that link-tags can expose your internal topology and the tile/slot name might do the same! Don't go naming your tiles something like "Database Primary", "Payment Service Worker", or "Internal Auth API"! |
||||||||||||||
| 12 | |||||||||||||||
|
Sinirlan
lemmy.world
Sinirlan@lemmy.world Joined: 2023-06-18 |
There is no such thing as "too much dashboards" friend ;) |
||||||||||||||
| 5 | |||||||||||||||
|
ifGoingToCrashDont
lemmy.world
ifGoingToCrashDont@lemmy.world Joined: 2023-07-02 |
Awesome work. Stuff like this is what makes |
||||||||||||||
| 6 | |||||||||||||||
|
black_flag
lemmy.dbzer0.com
black_flag@lemmy.dbzer0.com Joined: 2025-08-07 |
I've gone to write something almost exactly like this several times and never quite finished. I like how this is set up. It seems like one thing that could be improved is parameterizing the configs a bit so that e.g. matching a 200 status gives a standard label that doesn't need added to every job |
||||||||||||||
| 7 | |||||||||||||||
|
halfdane
piefed.social
halfdane@piefed.social Joined: 2025-12-28 |
I've gone to write something almost exactly like this several times and never quite finished. I like how this is set up. It seems like one thing that could be improved is parameterizing the configs a bit so that e.g. matching a 200 status gives a standard label that doesn't need added to every job
Hu, never thought of that - that's a pretty neat idea! Thank you 🤗 |
||||||||||||||
| 5 | |||||||||||||||
watson
sopuli.xyz
watson387@sopuli.xyzJoined: 2023-06-06 |
This is a great idea! Nice work man! |
||||||||||||||
| 3 | |||||||||||||||
|
TheButtonJustSpins
infosec.pub
TheButtonJustSpins@infosec.pub Joined: 2023-06-11 |
Just FYI, Homepage has ping functionality to check if your services are up. |
||||||||||||||
| 4 | |||||||||||||||
|
halfdane
piefed.social
halfdane@piefed.social Joined: 2025-12-28 |
Just FYI, Homepage has ping functionality to check if your services are up. 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. |
||||||||||||||
| 7 | |||||||||||||||
|
halfdane
piefed.social
halfdane@piefed.social Joined: 2025-12-28 |
I've gone to write something almost exactly like this several times and never quite finished. I like how this is set up. It seems like one thing that could be improved is parameterizing the configs a bit so that e.g. matching a 200 status gives a standard label that doesn't need added to every job
Loved that idea so much that I went and implemented it:
So now with this preamble:
I can now have a tile like this:
And the best? It's fully backwards compatible ❤️ Thanks again for the suggestion! |
||||||||||||||
| 5 | |||||||||||||||
|
themachine
lemmy.world
themachine@lemmy.world Joined: 2023-06-12 |
Awesome, thanks for the consideration! Please don't immediately start public facing however - I literally just bashed the thing together in an afternoon, so who knows what kind of exploitable information leaks it might bring! I'm personally using it from within a tailnet, so not public facing. Edit: I have since added: --no-tooltips param: Don't include check output for hover tooltips --no-time...
Ah, well, then perhaps I will monitor it. For internal use I just monitor everything with zabbix. What Ive been wanting is (as I said) a public "status screen" that my few users can hit just to verify if things are in fact down or if it's just them. |
||||||||||||||
| 2 | |||||||||||||||
|
halfdane
piefed.social
halfdane@piefed.social Joined: 2025-12-28 |
Ah, well, then perhaps I will monitor it. For internal use I just monitor everything with zabbix. What Ive been wanting is (as I said) a public "status screen" that my few users can hit just to verify if things are in fact down or if it's just them.
Well, Ilias can certainly fill this niche. With a caveat: Currently all output from checks are accessible as tooltips (so they're in the HTML source), but for usecases such as yours it might be helpful to have the ability to suppress that kind of information leakage. I think I'll implement that in the coming days ... |
||||||||||||||
| 2 | |||||||||||||||
|
halfdane
piefed.social
halfdane@piefed.social Joined: 2025-12-28 |
Ah, well, then perhaps I will monitor it. For internal use I just monitor everything with zabbix. What Ive been wanting is (as I said) a public "status screen" that my few users can hit just to verify if things are in fact down or if it's just them.
Couldn't stop worrying about this, so I added:
If you're using these, I feel much better about making the html publicly accessible, but when you set up a config please remember that links-tags can expose your internal topology and the tile/slot name might do the same! Don't go naming your tiles something like "Database Primary", "Payment Service Worker", or "Internal Auth API"! (unless you wanna place a honeypot) |
||||||||||||||
| 2 | |||||||||||||||
|
altphoto
lemmy.today
altphoto@lemmy.today Joined: 2025-04-14 |
Hey everyone! I think I got a cool idea for a dashboard! |
||||||||||||||
| 5 | |||||||||||||||
|
halfdane
piefed.social
halfdane@piefed.social Joined: 2025-12-28 |
Hey everyone! I think I got a cool idea for a dashboard!
Is it ... a new tool? I love new tools 🥹 |
||||||||||||||
| 3 | |||||||||||||||
|
altphoto
lemmy.today
altphoto@lemmy.today Joined: 2025-04-14 |
Is it ... a new tool? I love new tools 🥹
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. |
||||||||||||||
| 2 | |||||||||||||||
|
halfdane
piefed.social
halfdane@piefed.social Joined: 2025-12-28 |
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.
Wow, I can really see this taking off in the international dashboading-scene! |
||||||||||||||
| 2 | |||||||||||||||
|
WhyJiffie
sh.itjust.works
WhyJiffie@sh.itjust.works Joined: 2023-07-11 |
wonderful! now somebody needs to rewrite this in Rust and we are done! |
||||||||||||||
| 8 | |||||||||||||||
|
halfdane
piefed.social
halfdane@piefed.social Joined: 2025-12-28 |
wonderful! now somebody needs to rewrite this in Rust and we are done!
Go for it 👍 |
||||||||||||||
| 2 | |||||||||||||||
|
Joined: 2022-11-05 |
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.
@altphoto @selfhosted This is essentially what Pi-Hole does. It handles your DNS queries and blocks any that you want. It automatically updates blocklists from a variety of sources available. Some IPs are trackers, advertisers, malware, phishing and other notorious or otherwise obnoxious. You decide. Works great. I have about 1.7 million IP addresses blocked, but only a couple thousand or so show up on any day. Amounts to between 5% and 8% of my total traffic. I cannot fully express my joy with the FREE software. I have a dedicated Raspberry Pi 4B on my network for this purpose, but it can run on almost any Linux variant. #RPi #homelab #DNS #PiHole |
||||||||||||||
| 2 | |||||||||||||||
|
WhyJiffie
sh.itjust.works
WhyJiffie@sh.itjust.works Joined: 2023-07-11 |
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? |
||||||||||||||
| 2 | |||||||||||||||
|
papelitofeliz
lemmy.world
papelitofeliz@lemmy.world Joined: 2023-07-09 |
I'm sorry if this is a dumb question, I am on my phone and did not check much of the repo. I was thinking of adding a dashboard to my stack, and was thinking about Prometheus + grafana because of versatility but the main con is the complexity. |
||||||||||||||
| 2 | |||||||||||||||
|
Decronym
Bot
Decronym@lemmy.decronym.xyz Joined: 2026-01-05 |
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:
4 acronyms in this thread; the most compressed thread commented on today has 8 acronyms. [Thread #124 for this comm, first seen 1st Mar 2026, 20:20] |
||||||||||||||
| 2 | |||||||||||||||
|
WhyJiffie
sh.itjust.works
WhyJiffie@sh.itjust.works Joined: 2023-07-11 |
Go for it 👍
it was just a joke, to the "one more dashboard" part :D its fine |
||||||||||||||
| 2 | |||||||||||||||
|
altphoto
lemmy.today
altphoto@lemmy.today Joined: 2025-04-14 |
Wow, I can really see this taking off in the international dashboading-scene!
Thanks its super unique LOL. |
||||||||||||||
| 1 | |||||||||||||||
|
altphoto
lemmy.today
altphoto@lemmy.today Joined: 2025-04-14 |
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?
It's just an idea! Geez! |
||||||||||||||
| 2 | |||||||||||||||
|
WhyJiffie
sh.itjust.works
WhyJiffie@sh.itjust.works Joined: 2023-07-11 |
It's just an idea! Geez!
ok, but who is the target audience for that? I am interested now |
||||||||||||||
| 1 | |||||||||||||||
|
altphoto
lemmy.today
altphoto@lemmy.today Joined: 2025-04-14 |
ok, but who is the target audience for that? I am interested now
Its a sarcastic comment because this post was started as "yet another...." |
||||||||||||||
| 3 | |||||||||||||||
|
admin
scrapetacular.ydns.eu
admin@scrapetacular.ydns.eu Joined: 2026-02-16 |
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.
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) |
||||||||||||||
| 2 | |||||||||||||||
|
CeeBee_Eh
lemmy.world
CeeBee_Eh@lemmy.world Joined: 2024-07-05 |
You had me at "no Node.js" |
||||||||||||||
| 5 | |||||||||||||||
|
admin
scrapetacular.ydns.eu
admin@scrapetacular.ydns.eu Joined: 2026-02-16 |
Hey everyone! I think I got a cool idea for a dashboard!
Gonna need a dashboard to keep track of my favorite dashboard projects, you in? |
||||||||||||||
| 5 | |||||||||||||||
|
halfdane
piefed.social
halfdane@piefed.social Joined: 2025-12-28 |
I'm sorry if this is a dumb question, I am on my phone and did not check much of the repo. I was thinking of adding a dashboard to my stack, and was thinking about Prometheus + grafana because of versatility but the main con is the complexity. How are the graphs generated on your example? Are they static images generated manually?
I love grafana, but it's a resource hog, and my machine isn't powerful. 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 |
||||||||||||||
| 2 | |||||||||||||||
|
altphoto
lemmy.today
altphoto@lemmy.today Joined: 2025-04-14 |
Gonna need a dashboard to keep track of my favorite dashboard projects, you in?
Excellent! A dashboard dashboard! |
||||||||||||||
| 1 | |||||||||||||||
|
black_flag
lemmy.dbzer0.com
black_flag@lemmy.dbzer0.com Joined: 2025-08-07 |
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 ...
Cool ❤ |
||||||||||||||
| 2 | |||||||||||||||
| Post Reply |
Back to top |