Run complete environments on-prem or in the cloud

virtuOSo Dashboard
virtuOSo dashboard showing environments, VMs, and infrastructure control plane
 

virtuOSo is a VM-based infrastructure platform with built-in orchestration, automation, and AI-assisted operations — all in one control plane.

   

One platform. Multiple control surfaces.

Web UI
REST API
Terraform
AI via MCP
virtuOSo control plane VMs · Stacks · Access · Networking
On-Prem
AWS

Instead of piecing together separate tools for virtualization, orchestration, cloud, and automation, virtuOSo keeps the entire workflow in one system.

Everything you need to run VMs

A complete VM management platform spanning on-prem and cloud. Run it on a single server or scale to AWS.

Hybrid Cloud

Manage on-prem KVM and AWS EC2 instances from the same dashboard. Launch cloud VMs alongside your homelab with unified controls.

Apps Marketplace

One-click deployment of Kubernetes clusters, Docker hosts, Gitea, databases, and monitoring stacks. Scale K8s workers up and down from the UI.

Quick Launch

Spin up a VM in one click with pre-configured defaults. The fastest way to get a test environment running.

Multi-VM Stacks

Define multi-VM deployments as YAML templates. Deploy and tear down entire environments together.

Terraform Provider

Infrastructure-as-code for your homelab. Manage VMs, SSH keys, and access grants with Terraform.

Browser-Based Access

SSH shell, serial console, and VNC desktop — all from your browser. No client software needed.

Custom Images

Boot from cloud images, uploaded ISOs, or QCOW2 disk images. Full support for Linux and Windows guests with automatic device model selection.

VPN & Remote Access

Built-in Tailscale integration for secure remote access to your VMs from anywhere. Connect your server to a tailnet with one click.

AI Assistant & MCP

Use Claude Code or OpenAI Codex from the built-in chat UI. virtuOSo exposes typed VM tools over MCP for agent-driven infrastructure.

See it in action

A clean, intuitive interface for managing your entire VM fleet from the browser.

Launch any major distribution

Cloud images download automatically. Upload custom ISOs or QCOW2 disk images for any OS, including Windows.

Ubuntu

25.10 24.04 LTS 22.04 LTS

Desktop available · User: ubuntu

Fedora

43

Desktop available · User: fedora

Amazon Linux

2023

User: ec2-user

Custom Images

ISO QCOW2

ISOs & QCOW2 · Linux & Windows

Instance Sizes

SizevCPUsMemoryDefault Disk
micro11 GB50 GB
small12 GB50 GB
medium24 GB50 GB
large28 GB100 GB
xlarge416 GB100 GB
2xlarge432 GB200 GB
4xlarge864 GB200 GB
8xlarge16128 GB500 GB

Deploy complete environments with Stacks

Define multi-VM environments as simple YAML templates. Launch, update, and tear them down as a single unit.

One definition. Multiple VMs. Fully wired together at deploy time.
  • Launch environments in the right order automatically Dependencies start first, and virtuOSo waits for required services to come online before continuing.
  • Wire services together without manual setup Use ${vm.name.ip} and ${secret.KEY} to inject runtime values before dependent VMs boot.
  • Inject secrets safely at deploy time Keep sensitive values out of your YAML and let virtuOSo handle secure substitution.
  • Tear everything down as a single unit Create, redeploy, and destroy complete environments without managing each VM separately.
stack.yaml
vms:
  - name: database
    os: ubuntu-24.04
    size: medium

  - name: web
    os: ubuntu-24.04
    size: small
    depends_on: [database]
    user-script: |
      # Injected before the VM boots
      echo "DB_HOST=${vm.database.ip}" >> /etc/environment

What happens when you deploy it

  • database starts first
  • virtuOSo waits for it to get an IP address
  • web starts next with DB_HOST already configured

Automate everything

Choose the control surface that fits the job: direct API calls, Terraform plans, or AI assistants connected through the built-in MCP server.

REST API

Complete VM lifecycle management via JSON endpoints. Create API keys from the web UI and use them with any HTTP client.

python
import requests

API = "https://your-server/api/v1"
KEY = "vmk_..."
s = requests.Session()
s.headers["Authorization"] = f"Bearer {KEY}"

# Launch a VM
resp = s.post(f"{API}/vms", json={
    "name": "web-01",
    "os": "ubuntu-24.04",
    "size": "medium",
})
print(resp.json())
GETPOSTPUTDEL 25+ endpoints

Terraform Provider

Declare your infrastructure in HCL. The provider manages VMs, SSH keys, and access grants with full lifecycle support.

main.tf
resource "virtuoso_vm" "web" {
  name      = "web-server"
  size      = "medium"
  os        = "ubuntu-24.04"
  disk_gb   = 40
  ssh_key   = virtuoso_ssh_key.deploy.public_key
  started   = true
  autostart = true

  user_script = <<-EOT
    apt-get update
    apt-get install -y nginx
  EOT
}
virtuoso_vm virtuoso_ssh_key virtuoso_vm_access

AI Assistant + MCP

The built-in AI Assistant supports Claude Code and OpenAI Codex.

codex / claude
Hello! I'm your virtuOSo AI assistant.

I can help you manage VMs, generate Terraform configs, create Stack definitions, and more.

What would you like to do?
Claude Code OpenAI Codex 15 MCP tools

Tailscale VPN

Built-in Tailscale integration for secure remote access to your VMs from anywhere. Connect your server to a tailnet and route VM subnets automatically.

AI-Safe Guardrails

Credentials stay out of AI responses, delete protection is respected, and ambiguous destructive prompts are treated as conversation instead of bulk VM operations.

Delete Protection

Guard important VMs against accidental deletion. Protection must be explicitly disabled before a VM can be removed.

Cloud-Init & Secrets

Run custom scripts on first boot. Inject encrypted secrets into VMs at deploy time with AES-256-GCM encryption at rest.

Get started

virtuOSo ships as a bootable ISO for on-prem servers. Install on dedicated hardware and manage VMs from your browser in minutes. Optionally connect AWS for hybrid cloud.

System Requirements: x86_64 CPU · UEFI boot · 16 GB+ RAM · SSD recommended

1

Download & Install

Download the virtuOSo ISO and install it on dedicated hardware.

2

Open the UI

Navigate to your server's IP in a browser. Log in with the admin credentials created during install.

3

Launch a VM

Click Launch, pick an OS and size, and your VM will be running in seconds. Use Quick Launch for one-click creation.