KVM with web management via Cockpit¶
In this article
Information
KVM with web management via Cockpit is a ready-made hypervisor based on QEMU/KVM with a pre-installed Cockpit web panel and the cockpit-machines module for managing virtual machines. The solution is designed for rapid deployment of virtualization infrastructure with a convenient web interface, without the need to use separate GUI clients or complex CLI commands.
Deployment Features¶
| ID | Compatible OS | VM | BM | VGPU | GPU | Min CPU (Cores) | Min RAM (Gb) | Min HDD/SDD (Gb) | Active |
|---|---|---|---|---|---|---|---|---|---|
| 450 | Ubuntu 22.04 | + | + | + | + | 4 | 8 | 100 | ORDER |
Main paths and files for KVM/Cockpit:
- VM images and disks (storage default):
/var/lib/libvirt/images/ - VM configurations (libvirt):
/etc/libvirt/qemu/ - Socket and libvirtd configuration:
/etc/libvirt/libvirtd.conf,/var/run/libvirt/ - Cockpit configuration:
/etc/cockpit/ - Cockpit TLS certificates (ws-certs):
/etc/cockpit/ws-certs.d/ - Let's Encrypt directory for Cockpit FQDN:
/etc/letsencrypt/live/<kvm_fqdn>/ - libvirt logs:
journalctl -u libvirtd,/var/log/libvirt/ - Cockpit logs:
journalctl -u cockpit -u cockpit.socket
Note
If not specified otherwise, the latest stable versions of KVM, libvirt, and Cockpit packages are installed by default from the operating system repositories or the developer's website.
Getting Started After Deployment¶
After paying for the order, a notification of server readiness will be sent to the email address provided during registration. The email will contain the VPS/server IP address, SSH login and password, and a link to the server management panel — Invapi.
Clients manage the equipment via the server management panel and API — Invapi. In the Info >> Tags tab for the selected server, technical parameters and service links are available.
Authorization data, which can be found either in the Info >> Tags tab of the server management panel or in the emailed message:
- Link to access the Cockpit web interface: in the webpanel tag (port 9090, HTTPS)
Accessing the Cockpit Web Interface¶
Connecting to the Panel¶
- Open a browser on your local machine (e.g., Firefox on Ubuntu).
- Navigate to an address such as:
https://<IP_address>:9090— when accessing by IP;https://<kvm_fqdn>:9090— when accessing by domain name from the webpanel tag.
By default, Cockpit listens on TCP port 9090, which must be allowed in the firewall in use (UFW, firewalld, iptables, etc.).
Login and Administrative Access¶
- On the login page, enter the server username and password (usually the account provided in the email or created by the administrator).

- After logging in, the Cockpit start page opens with key metrics (CPU load, RAM, file systems, network traffic).
Note
If operations to manage virtual machines and system services are enabled you should In the top of the interface, click the Turn on administrative access button in the top of the interface to temporarily grant the session administrator (sudo) privileges without constant password entry.
After enabling administrative access, operations to manage virtual machines and system services become available.
Cockpit Interface: Overview of Sections¶
The Cockpit interface has a simple, logical navigation menu on the left. Each section handles a specific aspect of server and virtualization management.
System Sections¶
Overview (Dashboard)¶

The server's main page ("Dashboard") displays a summary of system health:
- Health: System status (errors, warnings).
- Usage: Real-time resource usage charts (CPU, RAM, Disk I/O, Network).
- System information: Hardware info, host name, uptime, OS version.
- Configuration: Quick access to change host name, time, join domain, and performance profiles.
Logs¶

Interface for viewing system logs (similar to journalctl):
- Allows filtering logs by date, severity (Errors, Warnings, Notice) and services.
- Convenient for diagnosing VM startup errors or network issues without using the console.
Storage¶

Disk subsystem management:
- Drives: List of physical disks. You can create partition tables, format disks.
- Filesystems: View mount points and used space.
- NFS mounts: Connect remote NFS storage.
- Storage logs: Logs related only to the disk subsystem.
Networking¶

Host network interface management:
- Interfaces: List of network cards. Here you can configure IP addresses (static/DHCP), DNS, and gateways.
- Add Bridge / Add Bond / Add VLAN: Buttons to create network bridges (Bridge), channel aggregation (Bonding), and VLAN. This is a critically important section for configuring virtual machine networking (creating
br0).
- Add Bridge / Add Bond / Add VLAN: Buttons to create network bridges (Bridge), channel aggregation (Bonding), and VLAN. This is a critically important section for configuring virtual machine networking (creating
- Firewall: Basic firewall rule management (if firewalld is installed).
- Network logs: Network logs.
Virtualization¶
Virtual Machines¶

Key section for managing the KVM hypervisor (requires the cockpit-machines plugin to be installed).
- VM List: Table of all virtual machines with their status (Running, Shut off) and brief characteristics.
- Create VM: Wizard for creating new machines (ISO upload, disk creation).
- VM Detail view: Clicking on a machine opens its card with tabs:
- Overview: General settings, auto‑start.
- Console: Access to the VM screen (VNC/SPICE) directly in the browser.
- Disks: Add/remove virtual disks.
- Network Interfaces: Bind network adapters to bridges or NAT.
System Management¶
Accounts¶

Server user management:
- Create new users.
- Change passwords, lock accounts.
- Configure SSH keys for users.
- Manage administrator rights (sudo).
Services¶

Graphical layer over systemd:
- Services: List of all daemons (services). You can start, stop, restart, and enable/disable service autostart (e.g.,
libvirtd,ssh,nginx). - Targets / Sockets / Timers: Manage other systemd units.
Tools¶
This section typically groups additional plugins.
- Applications: Cockpit app manager (install additional modules).
- Software Updates: System update management (analogous to
apt update/dnf update). Shows available security patches and allows installing them with a single click. Automatic updates may be enabled. - Terminal (Terminal)

Full-featured command line (shell) in the browser:
- Provides access to the server as the current user.
- Allows executing any
virsh,htop,vim, etc. commands if a graphical interface is insufficient. - Works via websockets, supports copy/paste.
Creating and Installing Guest VM¶
Preparing ISO Image (Optional)¶
If you plan to use your own ISO image, upload it to the server in advance, e.g., to /var/lib/libvirt/images/ or /tmp/. If you want to use automatic download of popular distributions via Cockpit, you can skip this step.
Creating a New Virtual Machine¶
- In the left Cockpit menu, go to the Virtual Machines section.
-
Click the
Create VMbutton.
-
In the wizard that opens, set the parameters:
- Name: specify a unique name, e.g.,
TestVM. - Installation Type: choose one of the available options:
- Download an OS: the simplest method. Select an OS from the list, and Cockpit will download the required image.
- Local install media: choose this if you have already uploaded your ISO file to the server. In the field that appears, specify the path to the file (e.g.,
/tmp/ubuntu-24.04.1-desktop-amd64.iso). - URL: allows specifying a direct link to an ISO for download.
- Operating System: when choosing Download an OS, the list will be populated automatically. With a local ISO, the system will try to detect the OS itself, or you can select it manually from the list.
- Storage:
- Size: specify the size of the virtual disk (e.g.,
20 GiB). The disk will be created automatically.
- Size: specify the size of the virtual disk (e.g.,
- Memory: specify the amount of RAM to allocate (e.g.,
4 GiB). -
Immediately start VM: leave the checkmark if you want to start the installation immediately, or uncheck it if you need to change settings (e.g., network) before starting.
-
If additional settings are required (e.g., selecting a network bridge), uncheck Immediately start VM and click
Create.
Additional Configuration Before Installation¶
If you chose to create without immediate start, a VM page will open. Go to the Network Interfaces tab:

- Ensure that the Source field is set to:
- either the bridge interface
br0, if the VM should receive an IP from the same network as the host (recommended for external accessibility); - or the standard NAT network
defaultvirbr0, if VM internet access without direct external visibility is sufficient. - Click
Addto start the VM and begin the installation.
Installation Process in the VM Console¶

- In the list of virtual machines, select the created
TestVM. - Click the
Installbutton. - You will see the OS installation screen in the Console tab. Follow the installer instructions (language selection, disk partitioning, user creation).
After the installation completes, the virtual machine will reboot and be ready to use.
Checking and Basic VM Management¶
First Start and Network Testing¶
- Ensure that
TestVMis in the Running state. - Open the VM console in Cockpit and log in with the user created during installation.
- Inside the guest OS, open a terminal and check network settings:
- When using the
br0bridge, the VM should obtain an IP from your physical network, e.g.,192.168.0.x. -
When using the NAT network
default, the address will typically be from the internal network, e.g.,192.168.122.x. -
Check internet connectivity:
Daily VM Operations in Cockpit¶
Basic actions are available in the card of each virtual machine:

- Run — start a stopped VM.
- Shut Down — gracefully shut down the guest OS (ACPI signal).
- Force shut down — force shutdown (power off).
- Reboot — reboot the VM.
- Delete — delete the VM (with the option to delete associated virtual disks).
Through the Disks and Network Interfaces tabs you can add additional devices.
Note
Additional information about Cockpit features and KVM management can be found in the official Cockpit documentation.
Ordering KVM with web management via Cockpit using the API¶
To install this software using the API, follow these instructions.
Some of the content on this page was created or translated using AI.