Skip to main content

How labs work

A lab is a private Linux machine that runs for you in the cloud. You get root access, a terminal, and VS Code in your browser. This page explains three things to know before you start, because each one changes what you can do.

Your lab is a real machine​

You can install packages, run services, compile code, break it and rebuild it. Nothing is simulated.

Your home directory persists. Files you save there survive stopping, restarting and redeploying the lab. Everything outside your home directory is part of the lab image (the base system the lab is built from) and resets when the lab is rebuilt. So install what you need with a startup script rather than by hand, and it will be there every time.

Keep your work in your home directory

/home/<your-username> is the one place that is yours and permanent. Treat everything else as disposable.

Your storage follows you, not the lab​

You get one storage area per account, and it is mounted into every lab you run. A file you write in one lab is immediately there in all of them — no copying, no syncing.

This means your storage quota is shared. Filling it up in one lab fills it up in all of them. See Storage for the limits and how to see what is using the space.

The one exception is an extra copy or scale group you create with isolated storage: it gets a private home of its own instead, still counted against the same quota.

Labs are private until you publish them​

By default a lab is reachable only by you, over a private tunnel.

Privately, you add a device once (a laptop, a phone or a server), and it can reach every lab you own: SSH, web apps, databases, anything listening. Nothing is exposed to the internet.

Publicly, you can choose to publish a lab by attaching a domain to it. The platform serves it over HTTPS and manages the certificate for you. You choose this per lab and per port.

Where to go next​