How to Use Playgrounds

From the Browser

Starting a playground from the browser is the easiest way.

  1. Navigate to the Playgrounds page.
  2. Find a playground you like and click on its card.
  3. On the next page, click on the Start Playground button.
  4. Wait for the playground to warm up and boot (usually 5-60 seconds).
  5. Use the opened web terminal with an SSH session to the playground.
Start a playground from the browser: Select a playground, click 'Start', wait for the playground to boot, and use the opened web terminal with an SSH session to the playground.

Once the playground is up and running, you can run arbitrary shell commands, install software, build containers, reboot the VMs, and do most other things you can do on a regular Linux server.

Two notable exceptions are:

  • You cannot reinstall the operating system of playground VMs
  • Upgrading the kernel of playground VMs is not supported yet

If you need an alternative Linux distribution, check the Linux category of the Playgrounds catalog - it has a wide range of Linux distributions to choose from. For more advanced users, brining your own rootfs image is also supported.

You can also choose between the supported kernel versions during the playground start process. The currently available kernel versions are:

  • 5.10
  • 6.1
  • 6.12 (experimental)
  • 6.18 (experimental)

From the Command Line

Starting a playground is also possible from the comfort of your local terminal. For this, you will need a CLI tool called labctl.

It is a thin wrapper around the iximiuz Labs API with a number of UX improvements. You can use labctl to start and access Linux, Docker, Kubernetes, networking, and other types of playgrounds.

Installation

The command below will download the latest release to ~/.iximiuz/labctl/bin, adding it to your PATH.

curl -sf https://labs.iximiuz.com/cli/install.sh | sh

Alternatively, you can install labctl via Homebrew (macOS and Linux only):

brew install labctl

Authentication

After installing labctl, you will need to authenticate the CLI session to the iximiuz Labs API. The command below will open a browser page with a one-time use URL.

labctl auth login

Starting playgrounds

Once you have authenticated, you can start a new playground with a simple:

labctl playground start docker

You can also automatically open the playground in a browser with:

labctl playground start k3s --open

...or SSH into the playground's machine with:

labctl playground start ubuntu-24-04 --ssh

SSH into a playground

Once you have started a playground, you can access it with:

labctl ssh <playground-id>

...or run a one-off command with:

labctl ssh <playground-id> -- ls -la /

Listing, stopping, restarting, and destroying playgrounds

You can list recent playgrounds with:

labctl playground list

And stop a running playground with:

labctl playground stop <playground-id>

Stopping a playground shuts down its virtual machines, preserving the playground state and the VM disks in a remote storage. You can restart a stopped playground later on using the following command:

labctl playground restart <playground-id>

To dispose of a running or stopped playground, completely erasing its data, use the labctl destroy command:

labctl playground destroy <playground-id>

Signing out and deleting the CLI

You can sign out and delete the CLI session with:

labctl auth logout

To uninstall the CLI, just remove the ~/.iximiuz/labctl directory.

From an IDE (VS Code, Cursor, etc)

You can develop right on the playground machine using the Visual Studio Code Remote - SSH extension or its JetBrains analog.

Opening a new playground in your IDE

To open a new playground in your IDE, use the following command (labctl installation is assumed):

labctl playground start docker --ide code

Opening an existing playground in your IDE

To access an existing playground in your IDE, you can use the SSH proxy mode:

labctl ssh-proxy <playground-id> --ide code

Example output:

SSH proxy is running on 58279

# Connect from the terminal:
ssh -i ~/.ssh/iximiuz_labs_user ssh://laborant@127.0.0.1:58279

# For better experience, add the following to your ~/.ssh/config:
Host localhost 127.0.0.1 ::1
  IdentityFile ~/.ssh/iximiuz_labs_user
  AddKeysToAgent yes
  # UseKeychain yes # macOS only
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null

Press Ctrl+C to stop

After adding the suggested SSH config entry to your ~/.ssh/config, you'll be able to open an existing playground in your IDE with the below commands:

  1. Visual Studio Code:
code --folder-uri vscode-remote://ssh-remote+laborant@127.0.0.1:58279/home/laborant
  1. Cursor:
cursor --folder-uri vscode-remote://ssh-remote+laborant@127.0.0.1:58279/home/laborant

Check out this short recording on YouTube demonstrating the use case.