Kimchi — Simple KVM Management, Served with a Web UI and Zero Apologies
There are days when full-scale virtualization platforms like oVirt or OpenStack are overkill. Not every team needs HA clusters, shared storage orchestration, or live migrations across ten hypervisors. Sometimes the job is simpler: one or two physical servers, a few VMs, a lightweight way to manage them.
That’s where Kimchi fits. It’s a clean, browser-based interface for managing KVM on a single host. No dashboards full of graphs. No YAML. No agents. Just one package, one web UI, and a clear view into what’s running.
Kimchi isn’t ambitious — and that’s exactly why it works.
What It Actually Does (and What It Doesn’t Pretend to Do)
| Feature | What It Means Day-to-Day |
| Web-Based VM Control | Create, start, stop, delete, and configure virtual machines from a browser. |
| Backed by libvirt | Uses the standard KVM stack — no magic, no abstraction layers. |
| HTML5 Console Access | No plugins or Java junk — consoles run straight in the browser. |
| ISO Uploads via UI | Upload and attach install media through drag-and-drop — no SCP required. |
| Storage Pool Management | Create, manage, and assign storage to VMs with a couple of clicks. |
| Network Bridge Setup | Basic network configuration without dropping into `virsh`. |
| User Authentication | Local account support with simple permission control. |
| Runs on a Single Host | Designed for small-scale use — not clusters, not HA. |
| Built with clarity | Clean layout, fast loading, minimal distractions. |
| Open Source, Actively Forked | Original project stalled, but community forks are keeping it alive. |
When It Makes Sense
Kimchi is what gets installed when:
– A sysadmin just needs to bring up a few VMs on a dev server without diving into `virsh` syntax.
– There’s no appetite for a heavy GUI stack like oVirt or Proxmox.
– A standalone server needs to host some services, but without full-blown infrastructure.
– Web-based console access is needed, but everything else should stay simple.
– Someone wants to hand off basic VM operations to a junior without handing over SSH keys.
It’s not a tool for data centers. But for standalone hypervisors and lab servers? It works surprisingly well.
How to Set It Up (No Cloud, No Scripts, Just Packages)
*Recommended distro: CentOS 7, Fedora, or any RHEL-like system with KVM and libvirt enabled.*
- Install Required Packages
dnf install -y kimchi libvirt python3-psutil python3-cherrypy3 sos python3-pyparted
systemctl enable –now libvirtd
- Start the Kimchi Service
systemctl enable –now kimchi
- Access the Web Interface
https://<server-ip>:8001
Login with local credentials (or create them if running for the first time).
- Create a VM
Upload an ISO, pick the storage pool, define CPU/RAM, and hit launch. That’s about it.
- Optional: Adjust Permissions
Add or limit users directly from the interface — useful when handing it off to less-privileged users.
Final Thoughts
Kimchi isn’t trying to manage your cloud. It’s not here to scale. What it does is strip virtualization down to something fast, usable, and self-contained. One host, one interface, and just enough control to get the job done.
If the goal is to run VMs without setting up a whole platform — and without making the terminal the only way in — Kimchi gets there with minimal fuss.
It’s small, it’s not pretty, and it doesn’t pretend to be a solution for everyone. But for what it is, it’s clean, honest, and oddly refreshing.