Skip to content(if available)orjump to list(if available)

Show HN: Lightweight tool for managing Linux virtual machines

Show HN: Lightweight tool for managing Linux virtual machines

22 comments

·September 7, 2025

hey guys. the other day i was migrating hosting providers and i just needed something not too heavy and convenient to spin up my backups for awhile and realised there is almost nothing out there. kimchi hasn't been updated for years and cockpit is heavy. so here's something i came up with in a couple hours because of a sudden urge, nothing fancy just basic creation with cloud init, lifecycle management and image/storage, but it's modern-ish and it compiles to a 8.4mb binary inclusive of the embedded web UI, CLI and API, and only dep is libvirt.

lioeters

I like the sound of it, especially the compact single-file executable with minimal dependency. Forgive me for my ignorance, I may not fit the target user profile - I'm not familiar with KVM, and have only occasionally used QEMU. I read briefly about Cloud Init when setting up Multipass for creating new Ubuntu VMs.

What is KVM? - https://www.redhat.com/en/topics/virtualization/what-is-KVM

Can this tool `flint` replace some uses of Docker? I'm curious if I can use it for local development purpose, or for running stuff in production like isolating applications.

  flint launch [image-name]

  Launch a new VM with smart defaults. Supports launching from images or templates.
Is there a registry of images, like OS versions? Or maybe it's more decentralized than that. It also sounds related to OCI (Open Container Initiative) format that Podman supports, and qcow2 images for QEMU.

Could you give a brief summary of what this tool enables, for a potential user who doesn't know much about KVM?

jurgenkesker

KVM is just your Linux Kernel Virtual Machine. So you can manage VM's on Linux. It is not related to Docker.

indigodaddy

It's also the technology that many (most?) VPS providers use, eg Digital ocean, Vultr, Linode, etc.

myflash13

The readme keeps using the word “manage” but what does it actually do? Does it create and start new VMs? Using dockerfiles? On the local host or other hosts? I don’t understand WTF this thing does.

athrowaway3z

For something as simple as this, is next.js even worth it?

There is something to be said for it because LLM's having been trained on its structure, but I'm having decent success stripping out all dependencies except tsc.

illegally

You forgot to credit the AI who helped you generate this project in a couple of hours ;)

todotask2

How do you mount host's folder? My search for a VM that will work with Vite which can detect file changes on the host, or there is not answer?

Tart VM is interesting but still have the same issue.

k_bx

While I am using cockpit every time I need to remotely manage the machines, I couldn't get it to log me in via something other than user's login/password, which are not that safe, and it listens to 0.0.0.0 by default too.

So I have to ssh into machine, start cockpit service, use it, and then stop the cockpit.socket once I finish.

Would be great to have something which has its own users/passwords (to have strong password in bitwarden) and doesn't listen to 0.0.0.0 by default. If it's also lightweight – even better!

skydhash

If you’re using libvirt, you can do a remote connection through ssh with virsh or Virtual Manager desktop app.

0x073

I thought cockpit use pam, so you can use other pam modules to log in.

k_bx

Can you explain a bit more? The user passwords are inherently not strong enough so I disable all ssh via password and only use private keys (id_ed25519). If cockpit allowed me to use one I'd be ok, but if they don't – I at least want some scary auto-generated password only for cockpit, not the system user's one (which is often very weak).

jauntywundrkind

It'd be cool to see a nice UI (like this) atop something a little better built out & defined like systemd-nspawn. Like Quadlet for containers, Nspawn for VMs is a nice base with tons of great capabilities & very standard management patterns. There's nice .nspawn files and drop ins, where config lies, and (semi) standard paths for mounts and machines. Having that stable standard base would raise my interest & confidence a lot.

This recent guide covers a ton of nitty gritty, down to baking your own vm images & doing everything by hand. But by half way through, it builda to using the nice machinectl cli that is the real meat of the experience. https://quantum5.ca/2025/03/22/whirlwind-tour-of-systemd-nsp...

imiric

Hey, thanks for sharing. As someone who uses QEMU via rudimentary shell scripts, this looks interesting.

Unfortunately, I'm reluctant to trust a 26KLOC vibe-coded app[1] for something like this, so I'll pass.

But if a polished React/Next.js app, with a CLI, HTTP/WebSocket API, authentication, and libvirt integration, truly took you a couple of hours to produce, and it solves your problem, that's a commendable achievement. I'm not sure if I should be praising you or the LLM, but it's notable nonetheless.

[1]: https://github.com/ccheshirecat/flint/commit/eb90847db9da56c...

dangus

It seems to me that in use cases like this, reliability and stability is so much more important than a nice lightweight UI.

This project advertises a small single binary but that’s really a feature of Go, and the small size is a feature of the fact that this is a rushed vibecoded app.

A typical HomeLab user (mentioned in this project as one of the primary audiences) is probably using something like Proxmox because it’s exactly it’s been around for years and years, it’s developed by a professional team, it’s relatively easy to use, and it’s feature-rich.

And oh, by the way, Proxmox is free as in beer.

imiric

I do think that there's appeal in a single-binary tool that implements the core features of something like Proxmox. Proxmox is a complex project that requires dedicating an entire machine to it.

I'm not familiar with Kimchi or Cockpit, but OP's claims sound reasonable. There are/were other even simpler tools like the similarly named flintlock, Incus, Lima, plain virsh, and many others. But most of them don't have a web UI, which matters to some users.

However, besides this being vibecoded, what is fishy to me is that this project is coming from an account that 2.5 months ago was promoting their own cloud hosting project[1], with some fantastic claims, and suspiciously LLM-like replies. And yet today the web site of the project fails to load because of a TLS error.

If you look even deeper into it, a second new account "supitsj" shows up in the comments, seemingly representing the same service, which seems to be the same account that created a tutorial[2] for them. The "jlucus" GitHub account claims to be a "Jesse D. Lucus" from Oakland, CA, whose links and website are full of crypto/web3/betting scams, and AI-generated slop. The account is also part of a non-existent "hypr-technologies" org, which seems to be a company registered in Singapore[3], which does have its own AS[4]. On its website it says that Infuze is "retired", and now they're focused on a new project called "Raiin".

I'm not sure if these people are legit, scammers, or AI bots, but this whole thing stinks to high heaven. They're now flooding HN as well, as this isn't the first time I've seen Show HN posts with similar projects.

AI-blocking AI tools are becoming increasingly necessary. What a time to be alive.

[1]: https://news.ycombinator.com/item?id=44382949

[2]: https://github.com/jlucus/infuze-tutorial

[3]: https://www.scam.sg/companies/53503711B/hypr-technologies

[4]: https://ipinfo.io/AS211747

indigodaddy

Maybe this was a homegrown tool for managing VMs in their infuze platform and they decided to open source it? Speculation of course, as is your guesswork here too. Would be nice to hear a response from the OP.

nodesocket

Besides your spamming concern (which isn’t really that big of a deal) are you concerned this could be malicious? That’s my concern. How would they inject their malicious code besides the obvious of in the installer (main/install.sh) script?

moshib

I'm running Proxmox in my homelab. Although it's based on Debian, it doesn't lend itself to running tasks other than Proxmox itself. I, for one, would appreciate a KVM manager with web UI (Portainer for KVM, if you may) - but I'm reluctant to run something so vibe-coded.

nodesocket

Does it support scheduling of snapshots and keeping N versions of snapshots?