Show HN: Kula – Lightweight, self-contained Linux server monitoring tool
64 points
13 hours ago
| 10 comments
| github.com
| HN
Zero dependencies. No external databases. Single binary. Just deploy and go. I needed something that would allow for real-time monitoring, and installation is as simple as dropping a single file and running it. That's exactly what Kula is. Kula is the Polish word for "ball," as in "crystal ball." The project is in constant development, but I'm already using it on multiple servers in production. It still has some rough edges and needs to mature, but I wanted to share it with the world now—perhaps someone else will find it useful and be willing to help me develop it by testing or providing feedback. Cheers! Github: https://github.com/c0m4r/kula
mitjam
1 hour ago
[-]
I like that you've started keeping your prompts in the repo [1]. Why have you deleted them, later on? What I find curious is how can something AI generated can be licensed AGPL?

[1]: https://github.com/c0m4r/kula/commit/ae3f8a8483c91fe8bd4ea2c...

reply
c0m4r
1 hour ago
[-]
At some point, writing these files became a hassle and I felt it was too chaotic, so I gave up on it. Regarding licenses, given that LLMs are using other people's work without their consent anyway, and most of the code produced rn is AI, these licenses are to me really just suggestions. I would treat them as an expression of intent, not a strictly legal document.
reply
danparsonson
1 hour ago
[-]
It would be interesting to hear a lawyer's take on that, as I suspect their opinion might differ from yours...
reply
c0m4r
57 minutes ago
[-]
A lawyer's opinion will be directly proportional to their fee and will have little to do with reality, because the law hasn't kept up with what's happening right now. If you don't code with AI, you'll be left behind. Everyone is coding with AI, even in places where it's not immediately obvious, there's AI. You open the refrigerator and AI comes out. I don't know how this will be regulated, I'm not an expert in this field, but for now, it is what it is. The most important thing for me is that I don't derive any financial benefit from this and I give attribution where it is due.
reply
mitjam
1 hour ago
[-]
I feel that too :) With the license, you are right, and I like your stance of "expressed intent".
reply
c0m4r
56 minutes ago
[-]
I've uploaded these prompts to the repo's wiki if anyone else would like to read my broken English.
reply
amar0c
1 hour ago
[-]
Monitoring needs to be: single dashboard << many agents. I have no plan deploying dashboard on every server.
reply
c0m4r
1 hour ago
[-]
I think netdata or Grafana with a chosen backend is right for you then. My goal was different, but I'll consider implementing such functionality in the long run. Thank you for your feedback.
reply
savalione
10 hours ago
[-]
Is there any meaningful reason to add the project structure to the README, and add a copyright symbol to every mention of Linux? I'm not quite sure by what standards it's considered to be lightweight, but it may be useful for homelab owners.

Anyway, Zabbix still looks like a better solution by any metric.

reply
c0m4r
10 hours ago
[-]
I got your point. The project structure remains from the initial phase of building the tool. I think I'll eventually remove it or put it on the wiki or somewhere else. My excessive attachment to copyright probably stems from the fact that years ago, when I wrote my own websites and articles, people often simply copied them and signed them as their own. The Linux Foundation website has attribution instructions that ask for the use of the ® symbol; I simply followed this instruction, but I agree that it's probably an exaggeration on my part. Considering what this tool does, I personally think it's lightweight in terms of both binary size, execution times, and dashboard performance. But I agree that's debatable.
reply
dqv
6 hours ago
[-]
In fact, you followed the instructions exactly to spec https://www.linuxfoundation.org/legal/the-linux-mark
reply
mervz
9 hours ago
[-]
The README was AI generated, that's why.
reply
c0m4r
2 hours ago
[-]
Initially, yes. However since then I edit it manually, but I agree it still has the AI vibe. I'll work on that!
reply
ramon156
4 hours ago
[-]
Ironically, Zabbix front page also has some AI smells. Doesn't really matter regarding the actual tool, which is indeed more battle-tested
reply
sneak
9 hours ago
[-]
I like having tons of docs in the README, vertical screen space is cheap.
reply
atmanactive
2 hours ago
[-]
Reading through supported metrics, I don't see temperatures mentioned. That's really important for homelab servers. CPU temp, SSD temp, NVMe temp...
reply
c0m4r
2 hours ago
[-]
Temperatures monitoring will be added. Initially, I implemented too many metrics, so during development I limited them to a reasonable level to make them manageable, but I'll be adding more as the project matures. Thanks for the feedback!
reply
atmanactive
30 minutes ago
[-]
Looking forward, thanks!
reply
c0m4r
18 minutes ago
[-]
If you have a moment, I would be grateful if you could create an issue on github. I will then be able to let you know when it's ready and ask you to try it out. Please also let me know which temperatures you'd like to primarily monitor. I assume I'll have to gradually introduce the supported ones, as not all of them can be detected at once.
reply
kulahan
11 hours ago
[-]
I'm very curious where you got the inspiration for the name for this! I've been using Kula/Kulahan as a username for years and almost never see it anywhere else
reply
c0m4r
10 hours ago
[-]
Well, it was easy since my native language is Polish and I often use "kula szpiegula" term, which translates to something like a "spying crystal ball" in relation to things that allow monitoring or collecting information. In Polish, "kula" can refer to many things, e.g. a sphere or a globe.
reply
smashed
12 hours ago
[-]
Vibe coded netdata clone?
reply
c0m4r
10 hours ago
[-]
Yes, netdata was an inspiration, as I'd been using it for several years. Unfortunately, it stopped being what it initially was, and recently I was so disappointed that I decided to write my own tool. It's also true that I use AI models for coding, but I wouldn't exactly call it vibe coding, as I actively analyze what the models are doing and don't just blindly accept everything. I also try to thoroughly test my code, implement as many security-enhancing features as possible, and have multiple models review my code to catch as many bugs as possible.
reply
krautsauer
11 hours ago
[-]
netdata is pretty heavy on resources, especially disk writes. I'd appreciate improvement over it, but I won't try out this thing without indication that it improves anything. Especially with such useful features as space invaders built in…
reply
bityard
11 hours ago
[-]
It's a bit ironic (in the Alanis Morrisette sense) because NetData was built by a small community on Reddit to be small, lightweight, easy to deploy, open source, etc. Now it looks like any other commercial enterprise monitoring product.
reply
c0m4r
10 hours ago
[-]
exactly this
reply
c0m4r
10 hours ago
[-]
That's fair. I can't resist putting easter eggs in my software, sorry :)
reply
sneak
9 hours ago
[-]
> Kula uses Argon2id for password hashing. If you enable authentication, it is highly recommended to tune the Argon2 parameters (time, memory, threads) in config.yaml based on your hardware capabilities to increase resistance against cracking.

There is no reason to do this. Set them to sane defaults and set a minimum password length of 12 or 14 chars and stop trying to solve the wrong problem.

reply
planb
7 hours ago
[-]
Honestly the sentence from the readme just sounds like a recommendation an LLM would make.
reply
c0m4r
3 hours ago
[-]
It is from LLM and some of the security features are overkill - I'm aware of that. These will be optional. I will also try to improve the readability of the README and move more detailed documentation to the wiki. Thanks for your opinions!
reply
doug_life
10 hours ago
[-]
dash. (or dashdot) https://github.com/MauriceNino/dashdot is another alternative that is pretty lightweight but has fewer details. Live Demo: https://dash.mauz.dev
reply
c0m4r
10 hours ago
[-]
Nice little panel. Although a bit too kawaii for my taste!
reply
sneak
9 hours ago
[-]
Why the nonfree AGPL? Are you seriously worried that someone is going to fork this and make money with it, given that anyone else could vibe code another one in a few hours?
reply
c0m4r
2 hours ago
[-]
To be honest, I didn't think about it for too long. I choose licenses based on intuition. I put a lot of work into this tool, I knew it would require a lot of effort, and besides, I created it precisely because someone else turned a similar project into a money-making machine, completely abandoning the original ideals. Therefore, I felt that AGPL, which requires code disclosure and non-profit use, is the way to go.
reply
yjftsjthsd-h
4 hours ago
[-]
> Why the nonfree AGPL?

By no reasonable definition is AGPL nonfree. It isn't a permissive license, but it's libre, gratis, and open source.

> given that anyone else could vibe code another one in a few hours?

If that's true, then who cares?

reply
koiueo
8 hours ago
[-]
1. Why do you ask? Do you intend forking and making money out of it?

2. Why are you lying about AGPL being nonfree? As far as I'm concerned, it is free as in free speech for me as a user. This was the initial goal of the GPL. The freedom of the end user is the main value of the GPL family of licenses. So serious question: why are you lying? Is it intentional, or due to your lack of understanding?

reply
sneak
2 hours ago
[-]
Re 1: No, I don’t run paid internet services, only free ones. I just think it’s silly when people distribute software and pretend it’s free software but slap an anti-commercial-use EULA on it.

Not lying: The AGPL plainly violates freedom 0.

https://sneak.berlin/20250720/the-agpl-is-nonfree/

reply
c0m4r
2 hours ago
[-]
I respect your opinion, but I disagree with it. It's purely a matter of perspective. I find such restrictions acceptable in free licenses. Besides, as you pointed out, these licenses don't matter anyway, since anyone can use AI and write their own tool :) This choice of license is just my suggestion, or if you prefer, a manifesto that I don't want open source projects to become closed source, that's all.
reply
reacharavindh
6 hours ago
[-]
On these lines… it has been on my “to be vibe-coded” list to make an extremely minimal node-exporter(the metrics collector for Prometheus) in rust (support only Linux, gather extremely minimal set of metrics) that uses tightly controlled concurrency so as to fetch all metrics within a short span of time.

If anyone has more AI tokens or spare time with mental energy to burn… go for it :-)

reply
c0m4r
2 hours ago
[-]
I think that once I get most of the core functions stable, I will also want to add options for exporting metrics.
reply