Skip to main content

Deploy your first lab

By the end of this page you will have a running Linux machine with root access and VS Code open in your browser. Nothing to install.

Before you start

You need an account. Open the dashboard and sign in with whichever provider is offered — see Sign in if you have not done that yet.

1. Pick a lab

Go to Labs in the sidebar. You will see the catalogue of ready-made environments.

The lab catalogue grid. Include the search box and the running-labs counter in the header.

Start with Essentials Lab — a plain Ubuntu machine with the common tools already installed. Click the card to open its page.

2. Deploy it

Click Deploy, then Confirm Deploy.

The deploy dialog offers options — networks, domains, exposed ports. Ignore all of them for now; the defaults give you a private lab you can reach over the tunnel. You can change any of it later and redeploy.

Deployment takes about a minute. A log panel streams the progress at the bottom of the screen.

Deploying is free, and it is also how you redeploy

Deploying costs nothing on any plan, and it resets the lab's expiry clock. When a lab is close to expiring, redeploying it is the free fix.

3. Open it

When the status turns to deployed, the page shows your connection details:

FieldWhat it is
Device IPYour lab's private address
SSH CommandReady to paste into a terminal
UsernameYour login inside the lab
su PasswordFor sudo inside the lab
code-server URLVS Code in your browser
code-server PasswordTo open that editor
The connection information panel showing Device IP, SSH command and code-server URL.

The quickest way in is the browser. Click Code, paste the code-server password, and you have a full VS Code with a terminal — no VPN needed.

To use SSH from your own machine instead, you need the private tunnel first: Connect your device.

4. Prove it works

In the lab's terminal:

whoami
sudo apt update && sudo apt install -y cowsay
/usr/games/cowsay "my first lab"

What to know before you build anything real

Your home directory persists. Everything else in the lab resets when it is rebuilt.

echo "this survives" > ~/notes.txt # kept across redeploys
echo "this does not" > /opt/notes.txt # gone on the next redeploy

So install packages from a startup script rather than by hand — the script runs on every deploy, and your setup comes back with it.

Do it with an AI assistant

You can also do this by asking an AI assistant connected to your account — see Connect an AI assistant to set one up.

AskWhat the assistant does
“Deploy the essentials lab for me and tell me when it is ready”Checks what you have with list_labs, starts it with deploy_lab, waits with wait_for_deploy, then reads the address and login with lab_info
“What labs do I have, and which are running?”list_labs
“My deploy failed — what went wrong?”Confirms the state with lab_status, then reads the deploy log with lab_logs
A deploy is queued, not finished

The assistant gets an answer the moment the deploy is queued, while the lab takes a minute or more to come up. A good assistant waits for deployed before giving you an address. On a free account the assistant can look at your labs but cannot deploy, stop or redeploy them.

Next steps