Quickstart
From an empty subscription to a live lab in four steps.
Labs & templates
Customise a machine once, publish it to the whole class, reuse it next term.
Cyber ranges
Nested virtualization — run Kali and Windows targets inside one VM.
Students & sign-in
Microsoft sign-in, email-bound invites, and one account for every machine.
Schedules & shutdown
Auto start/stop for class time, plus idle policies that stop runaway spend.
Costs & billing
Your subscription, no markup, live spend tracking and idle burn.
Quickstart
You'll need an Azure subscription (Pay-As-You-Go, EDU, or Enterprise) where you can create resources. Everything LabPilot provisions lives inside your tenancy.
Connect Azure
Sign in and point LabPilot at your subscription. Every VM, disk and network it creates is grouped under one resource group per lab, so nothing is left orphaned.
Create a lab
Pick an image and size, set the number of seats and a per-student hour quota. LabPilot builds a template VM for you to customise.
Customise & publish
Start the template, install your tools and coursework, then Publish. Every student machine boots from an exact copy of that image.
Invite your class
Add student emails to send Microsoft-sign-in invites, or share the six-digit join code. Each student lands on their own machine — no Azure account needed.
The teacher dashboard — each lab shows its status, seats filled and join code at a glance.
Labs & templates
A template is the machine you set up once — tools, targets and coursework — and then publish. Publishing snapshots the template so every student VM created afterwards is an identical copy. Re-publish any time you update the image; you choose whether to re-image existing students or only new joiners.
Available images:
- Windows Server 2022 / 2019 and Windows 11 Pro — full desktop over RDP.
- Ubuntu Server 22.04 — lightweight, SSH only.
- Ubuntu 22.04 Virtualization host — XFCE desktop + KVM/libvirt, for nested labs.
- Kali Linux — the pen-testing toolkit with a desktop.
Reusable templates (shared gallery)
Once a template is the way you want it, hit Save as template. LabPilot captures it into an Azure Compute Gallery shared across your whole organisation — anyone on the same Azure account can then spin up a new lab from that golden image, identical every time. Build your unit's environment once and reuse it every semester.
Cyber ranges (nested virtualization)
For security units you often want a whole network inside one machine — an attacker box and a victim, isolated from the real world. LabPilot supports this with nested virtualization: choose a nested-capable size (the D-series sizes marked nested) and the student VM can run its own VMs inside.
- Windows host + Hyper-V, or Ubuntu host + KVM/libvirt — both run guests on an internal network.
- Install a Kali attacker and a Windows target as nested guests; they get a private subnet where they can reach each other but not the internet-facing world.
- Set the range up once on a template, then Save as template — every class gets an identical range in minutes.
16 GB of RAM comfortably runs an attacker + a target side by side. For a full class you may need to request a vCPU quota increase from Azure (a free form).
Students & sign-in
Students sign in with Microsoft — their school or personal Microsoft account. There's nothing new to create and no VPN.
- Invites are bound to an email. An invite link only works for the person it was sent to, so a forwarded link is useless to anyone else.
- One account, all their machines. If a student belongs to more than one of your labs, a single sign-in shows every machine they have — they switch between them from one screen.
- Per-student quota. Each student gets an hour budget. When it runs out their VM stops, so a machine left on overnight can't quietly drain the budget.
What a student sees — their own machine, hours remaining, and a one-click connect.
How students connect
- Remote Desktop (RDP) — Windows and desktop-Linux images; one-click
.rdpdownload. - SSH — Ubuntu Server and other headless images.
- Open in browser — when a lab uses a gateway, students get their full desktop in a browser tab, no client to install (great for Chromebooks).
Schedules & auto-shutdown
Two independent ways to keep machines running only when they should:
- Scheduled sessions. Add your weekly class times. Every student VM powers on before class and off when it ends, automatically — and scheduled hours are free of quota.
- Auto-shutdown policies. Stop a VM after it's been idle, after the student disconnects, or if it was started but nobody ever connected. Each policy is paused during scheduled class time.
Costs & billing
Labs run on your subscription, so the only compute bill is the one Azure sends you — there's no platform markup on usage. The dashboard tracks spend live, including idle burn: what disks and IPs cost even when every VM is off.
- Windows vs Linux. The Cost compare page projects each lab on both, so you can see the Windows-licence premium and pick the cheaper base OS where the coursework allows.
- Quotas cap spend. Per-student hour budgets put a hard ceiling on self-service usage.
- Delete removes everything. Deleting a lab tears down its entire resource group — every VM, disk and IP — so nothing keeps billing after the unit ends.
FAQ
Do students need an Azure account?
No. They sign in with their Microsoft account and land straight on their machine. All the Azure resources sit in your subscription.
Is our data in our own Azure?
Yes. LabPilot provisions into your subscription and tenancy. You own the VMs, disks, networks and billing; LabPilot is the management layer on top.
What happens when a student's quota runs out?
Their VM stops automatically. You can grant more hours per student at any time, or raise the lab default.
Can I reuse a setup across classes or terms?
Yes — Save as template captures a fully configured machine into your organisation's shared gallery. Spin up new labs from it whenever you like.
How do I stop paying for a lab?
Delete it from the lab's Settings page. That removes the whole Azure resource group, so no disks or IPs keep billing.