NQRust-MicroVM

NQRust-MicroVM is a self-hosted platform for running and managing lightweight virtual machines, Docker containers, and serverless functions on your own Linux hardware — with a full web dashboard, REST API, browser-based terminal, and real-time metrics.


What You Can Run

Virtual Machines

Spin up isolated Linux VMs instantly. Each VM gets its own kernel, root filesystem, CPU and memory limits, network interface, and storage volumes. Access them through the built-in web terminal. Capture state with snapshots. Save reusable configurations as templates.

Containers

Deploy Docker containers that run inside VMs — combining the familiar Docker workflow with hardware-level kernel isolation underneath. Eliminates container escape risks entirely.

Serverless Functions

Write and deploy Node.js, Python, or Ruby functions that execute on demand inside isolated VMs. Ideal for webhooks, automation, and event-driven tasks — without managing full servers.


Platform Components

NQRust-MicroVM is three Rust services and a Next.js 15 frontend, orchestrated by the nqr-installer.

ComponentRole
ManagerCentral API server — VM lifecycle, image registry, networking, storage, users, RBAC. Built on Axum + PostgreSQL.
AgentRuns on each KVM host with root privileges. Translates Manager instructions into hypervisor operations. Multiple agents supported.
Guest AgentTiny static binary auto-deployed inside each VM. Reports CPU, memory, uptime, and IP address — no manual setup.
Web UINext.js 15 / React 19 dashboard served from the Manager host. Full xterm.js terminal, real-time metric graphs.

Architecture

graph TD
    Browser([🌐 Browser])

    subgraph Platform["NQRust-MicroVM Platform"]
        UI["Web UI\nNext.js 15"]
        Manager["Manager API\nRust · Axum"]
        DB[("PostgreSQL")]

        subgraph Host1["KVM Host"]
            Agent1["Host Agent\nRust"]
            VM1["microVM"]
            VM2["microVM"]
            GA1["Guest Agent"]
            GA2["Guest Agent"]
        end
    end

    Browser -->|"HTTPS / WebSocket"| UI
    UI -->|"REST API"| Manager
    Manager -->|"SQL"| DB
    Manager -->|"REST"| Agent1
    Agent1 -->|"Unix socket"| VM1
    Agent1 -->|"Unix socket"| VM2
    VM1 --- GA1
    VM2 --- GA2
    GA1 -->|"metrics · IP"| Manager
    GA2 -->|"metrics · IP"| Manager

Key Features


Network Types

TypeDescriptionBest For
NATPrivate subnet, internet via host NATMost workloads
IsolatedPrivate subnet, no external accessAir-gapped / internal services
BridgedVMs appear directly on your LANDirect network access
VXLANMulti-host overlay tunnelVMs across multiple physical hosts

What’s Next?