I'm building a small web UI for KVM/libvirt as a hobby project
Description and use
VirtoMir is a web UI for managing KVM/libvirt VMs, enabling creation, start/stop, snapshot, clone, console access, and live metrics, while remaining fully compatible with existing libvirt tools.
Problem
Existing KVM management tools were either too low‑level, desktop‑only, or heavyweight for a single‑host setup.
Outcome
VirtoMir offers a lightweight, web‑based alternative to existing KVM tools, enabling visual management without replacing libvirt or affecting existing VMs.
Workflow
- 1. Install VirtoMir binary on the host. 2. Authenticate via Linux PAM over TLS. 3. Use the web UI to create a VM from ISO or cloud image. 4. Start, stop, snapshot, or clone VMs. 5. Access console through VNC/SPICE/serial. 6. View live CPU, disk, and network graphs updated every second. 7. Review XML diff before applying changes.
Evidence
I want to share a hobby project I've been working on: VirtoMir, a web interface for managing virtual machines on a Linux host running KVM/QEMU with libvirt.
virsh is great, but I wanted something visual for day-to-day work.
It doesn't replace anything: your VMs stay normal libvirt VMs, and anything you do in virsh shows up in the UI too.
Create a VM from an ISO or a cloud image (with cloud-init)
Backend: Go, talking to libvirt. It ships as a single binary with the UI embedded, with no database or agents.
Sign-in: your Linux account through PAM, behind self-signed TLS by default.
- Record date: 2026-10-22T18:11:38.108Z