[HN Gopher] Show HN: Kula - Lightweight, self-contained Linux se...
       ___________________________________________________________________
        
       Show HN: Kula - Lightweight, self-contained Linux server monitoring
       tool
        
       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
        
       Author : c0m4r
       Score  : 77 points
       Date   : 2026-03-07 00:07 UTC (22 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | smashed wrote:
       | Vibe coded netdata clone?
        
         | krautsauer wrote:
         | 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...
        
           | bityard wrote:
           | 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.
        
             | c0m4r wrote:
             | exactly this
        
           | c0m4r wrote:
           | That's fair. I can't resist putting easter eggs in my
           | software, sorry :)
        
         | c0m4r wrote:
         | 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.
        
       | kulahan wrote:
       | 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
        
         | c0m4r wrote:
         | 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.
        
       | doug_life wrote:
       | 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
        
         | c0m4r wrote:
         | Nice little panel. Although a bit too kawaii for my taste!
        
       | savalione wrote:
       | 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.
        
         | c0m4r wrote:
         | 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 (r) 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.
        
           | dqv wrote:
           | In fact, you followed the instructions exactly to spec
           | https://www.linuxfoundation.org/legal/the-linux-mark
        
         | sneak wrote:
         | I like having tons of docs in the README, vertical screen space
         | is cheap.
        
         | mervz wrote:
         | The README was AI generated, that's why.
        
           | ramon156 wrote:
           | Ironically, Zabbix front page also has some AI smells.
           | Doesn't really matter regarding the actual tool, which is
           | indeed more battle-tested
        
           | c0m4r wrote:
           | Initially, yes. However since then I edit it manually, but I
           | agree it still has the AI vibe. I'll work on that!
        
       | sneak wrote:
       | > _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.
        
         | planb wrote:
         | Honestly the sentence from the readme just sounds like a
         | recommendation an LLM would make.
        
           | c0m4r wrote:
           | 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!
        
       | sneak wrote:
       | 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?
        
         | koiueo wrote:
         | 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?
        
           | sneak wrote:
           | 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/
        
             | c0m4r wrote:
             | 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.
        
             | koiueo wrote:
             | Your initial question had your ungrounded
             | assumption/opinion embedded in it. I did the same to you.
             | Not the thing I usually do.
             | 
             | Your reasoning has plenty of strawman arguments and
             | opinions. Starting from SaaS is not software, to how AGPL
             | is impossible to comply with, because when you commit, the
             | source goes out of sync with the running code.
             | 
             | IMO you still miss the point of GPL: it's to protect users.
             | 
             | As soon as you start offering your software (as a service
             | or otherwise), you become a vendor. AGPL then is not for
             | you, it's for users you're serving.
             | 
             | Finally, to enforceability. The only enforceable laws in
             | our world have always been laws of physics. Everything else
             | is a social construct, which, depending on your social
             | status and immediate surrounding, applies to you at various
             | degrees (sometimes not at all). All the laws produced by
             | society only align our common expectations, but none is
             | absolutely enforceable.
             | 
             | IMO, AGPL is the best idealistic scenario for _end users_.
             | And society would only win if the expectations set by AGPL
             | became the norm.
             | 
             | // Typed from my phone
        
         | yjftsjthsd-h wrote:
         | > 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?
        
         | c0m4r wrote:
         | 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.
        
           | smashed wrote:
           | Yes. Besides AGPL makes a lot of sense for any web based
           | tool, as it keeps the original intent of the GPL.
           | 
           | I don't get the hate/questioning on it either. It's a good
           | balance if you want to prevent straight up cloning/stealing
           | for profit motives while still making it open.
        
       | reacharavindh wrote:
       | 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 :-)
        
         | c0m4r wrote:
         | I think that once I get most of the core functions stable, I
         | will also want to add options for exporting metrics.
        
       | atmanactive wrote:
       | Reading through supported metrics, I don't see temperatures
       | mentioned. That's really important for homelab servers. CPU temp,
       | SSD temp, NVMe temp...
        
         | c0m4r wrote:
         | 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!
        
           | atmanactive wrote:
           | Looking forward, thanks!
        
             | c0m4r wrote:
             | 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.
        
               | smashed wrote:
               | Most (all?) temperature monitoring tools on Linux rely on
               | libsensors.
               | 
               | Seems like hardware maintainers never could agree on a
               | standard way of exposing temperature on Linux.
        
               | c0m4r wrote:
               | Yeah, that's a pain. Every time I boot up new hardware, I
               | wonder how many readings I'll be able to get this time,
               | and if it's even possible. On one computer, I have
               | practically all the temperatures, voltages, and fan
               | speeds, while on another, I can barely read the CPU
               | temperature alone. Not to mention the need to sometimes
               | compile sketchy drivers from github...
        
               | atmanactive wrote:
               | Sure thing. In my experiences based on using
               | LibreHardwareMonitor [1] on Windows, and Dunnart [2] on
               | Linux, dealing with temperature monitoring is not
               | trivial. But it's not impossible either. For example, in
               | Linux, looking at /sys folder for CPU temperatures, I can
               | often find several entries, of which, some are dead, some
               | are way off, and some are correct, but it is always a hit
               | and miss endeavour. So, reliably monitoring temperatures
               | requires a bit of an algorithm to detect the right
               | source.
               | 
               | [1] https://github.com/LibreHardwareMonitor/LibreHardware
               | Monitor
               | 
               | [2] https://github.com/warthog618/dunnart
        
               | c0m4r wrote:
               | That's true, which is why I assume I'll have to gradually
               | implement this feature. It probably won't be perfect, but
               | it's worth trying :)
               | 
               | Thank you for opening the issue!
        
       | amar0c wrote:
       | Monitoring needs to be: single dashboard << many agents. I have
       | no plan deploying dashboard on every server.
        
         | c0m4r wrote:
         | 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.
        
       | mitjam wrote:
       | 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...
        
         | c0m4r wrote:
         | 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.
        
           | mitjam wrote:
           | I feel that too :) With the license, you are right, and I
           | like your stance of "expressed intent".
        
             | c0m4r wrote:
             | I've uploaded these prompts to the repo's wiki if anyone
             | else would like to read my broken English.
        
           | danparsonson wrote:
           | It would be interesting to hear a lawyer's take on that, as I
           | suspect their opinion might differ from yours...
        
             | c0m4r wrote:
             | 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.
        
       | mastermage wrote:
       | This might be nice for my vps. May i ask if there is a way to see
       | the resources per docker container?
        
         | c0m4r wrote:
         | I'm not currently collecting metrics for containers. Though I
         | might add this feature later on.
        
       | plagiat0r wrote:
       | Back in the 90/2000 the was a very popular tool named rrdtool to
       | store metrics in a round robin structure on disk, especially
       | suited for network metrics. The goal of the storage was to have a
       | fixed size and cover only last NNN days, circularly.
       | 
       | I use rrdtool to this day, as a building block, but this project
       | looks much better.
        
         | debarshri wrote:
         | rrdtool conbined with graphite was powerful back then when
         | metrics and logging was selfhosted.
        
         | c0m4r wrote:
         | Oh rrdtool is still relevant today. Multiple (if not most of)
         | monioring tools like Cacti, Observium, Munin still use it.
        
       ___________________________________________________________________
       (page generated 2026-03-07 23:01 UTC)