Self-hosted KVM · free, no licence per VM

Virtual machines on your own servers, run from one console.

LexiVirt turns one Linux server, or a rack of them, into a cluster you operate from the browser: create and move virtual machines, watch capacity, and take versions forward or back. Nothing about your machines leaves your network.

Runs on
Debian, Ubuntu, RHEL, Rocky, AlmaLinux
Built on
KVM, QEMU and libvirt
Needs
64-bit CPU with VT-x or AMD-V
LexiVirt / Nodes● 3 of 3 online
vCPU58/ 96
Memory214/ 384 GB
VMs41running
NodeMemoryVMsState
node-a62%17online
node-b48%14migrating 1
node-c57%10online
Features

Everything you need to run your infrastructure

From creating a VM to opening its console in your browser, LexiVirt handles the whole lifecycle through one interface built for people who run their own hardware.

Read more →
Virtual machines

One VM or fifty, configured once

From an installer ISO or a cloud image, with cloud-init, several network cards and fixed addresses. Save the whole configuration as a template and the next one is a click.

web-01runningnode-a
web-02runningnode-b
web-0364%node-a
how many
12 → web-01 … web-12
template
big-linux
cloud-init
ops · ssh-ed25519 AAAA…
nic 0
lan · 10.0.4.21 fixed
Read more →

Live migration & HA

Move a running VM between nodes over shared NFS storage, empty a node before maintenance, and bring HA-protected VMs back elsewhere when a node is lost.

node-a
node-b
Read more →

Web console

Every VM's screen in the browser from the first boot line, with nothing to install, and text pasted into guests that have no clipboard.

web-01 login: ops
Password:
Read more →

Networking

NAT, isolated, LAN and bridged networks with VLAN tags, VXLAN segments that span nodes, an nftables firewall between VMs and a layer-4 load balancer.

NATisolatedLANbridge + VLANVXLANnftablesL4 LB
Read more →

Monitoring & alerts

CPU, memory and disk history per node and per VM, a capacity runway from what was measured, and an alert once per problem — by e-mail or webhook.

e-mailSlackTeamsJSON
Read more →

Storage & recovery

Local disk, NFS and LVM, disks shared between VMs, recovery points of running VMs on a schedule, and a whole VM exported to one file.

localNFSLVMshared
Read more →

Access control

Administrator, operator and viewer, projects with quotas, two-factor sign-in with recovery codes, and an audit log of every action.

adminoperatorviewerTOTP
Read more →

API & automation

A documented REST API for everything the console does, keys with their own role, and a built-in MCP server for AI agents.

GET /api/v1/nodes
Authorization: Bearer …
Read more →

Bring your VMs

Convert VMware, Hyper-V and VirtualBox disks to qcow2, and read VM definitions out of Proxmox, VMware and OVF through the API.

VMDKVHDVHDXVDIOVA→ qcow2ProxmoxVMwareOVF
What it costs

Nothing.

No tiers, no per-VM or per-socket licence, and no feature held back for a paid plan. You register once to get the install command for your own servers.

Virtual machines
As many as your hardware runs.
Servers
As many as you add, each with a small agent.
Updates
Every release, installed by the console itself, or rolled back to an earlier one from the Updates page.
Your data
Stays on your servers. The update check sends two values about the installation, and you can switch that off.
Install

On a server this afternoon

One command installs the console, the agent and everything they depend on. Start with one server and add the rest later.

01

Register

Create an account and get an install command that is yours alone.

Create an account
02

Run it as root

On the server that will hold the console. It installs QEMU, libvirt, the console and the agent.

$ curl -sSL https://lexi-cloud.com/i/YOUR-KEY | sudo bash
03

Open the console

Sign in with the details the installer prints, and create your first virtual machine.

→ https://your-server:9443

Requirements: a 64-bit Linux server with virtualization enabled in the BIOS. No other software to prepare.

More servers

Add servers, get one pool

Each additional server runs an agent the console talks to. Its CPU, memory and storage join the pool, and new virtual machines are placed where there is room.

  1. 01Open port 9071 from the console to the node
  2. 02Install the agent with the cluster secret
  3. 03Add the node on the Nodes page
  4. 04New VMs are placed on whichever node has room
Read the multi-server guide
console host
# 1. can the console reach the new node?
$ nc -zv 192.168.1.12 9071
Connection to 192.168.1.12 9071 port succeeded!

# 2. install the agent there, with the cluster secret
$ ssh node-b "curl -sSL https://lexi-cloud.com/install-agent.sh \
    | sudo bash -s -- CLUSTER_SECRET"

# 3. add it on the Nodes page
✓ node-b online: 32 vCPU, 128 GB added to the pool

Start with one server.

Free, self-hosted, and yours to keep running.