Step 1 - Project Setup
Creating Your Lab
Section titled “Creating Your Lab”Labs can be accessed in the Labs section of the menu. All your labs are listed on this page. To create a new lab, click the Create lab button in the top right corner and choose From a template. This option also covers empty labs. To have the AI assistant draft a lab instead, choose With AI (see Generating a lab).
The Create lab dialog asks for three things:
- Title: the title users see when they open the lab. Let’s use
My Web Server Lab. - Lab name: the lab’s unique identifier, used in the lab’s URL. Each version can have its own title, but the name stays the same across all versions.
- Template: what the lab starts from. The default, From scratch, creates an empty lab. Your team’s templates appear in the dropdown’s Default and Team sections. To make a lab into a template, mark it as one in its Project settings. It then appears in this dropdown for everyone on the team.
The title and name don’t need to match, and both can be changed later. For now, we’ll keep them as they are. Click Create lab to create the lab.
Version Control and Tracking
Section titled “Version Control and Tracking”Every lab is versioned, so all changes are automatically recorded. This ensures you can review the history of your lab and see exactly what has changed over time.
Safe, Isolated Editing
Section titled “Safe, Isolated Editing”When you make updates, they happen in your own isolated environment. This allows you to review and test changes before saving them to the main lab, keeping the original version safe from accidental modifications.
Collaboration and Conflict Resolution
Section titled “Collaboration and Conflict Resolution”Multiple users can work on separate branches simultaneously. If conflicting changes arise, they can be reviewed and resolved before merging, ensuring smooth collaboration.
Versions and Releases
Section titled “Versions and Releases”You can create versions or release tags to mark important milestones in your lab. For example, you might tag a “v1.0” version for the first stable release, a “workshop-2025” version for a training session, or a “beta-feature” version for experimental updates. You can also maintain separate versions for different software updates—for instance, one version of your lab could be set up for version 2.0 of a software, while another version is prepared for version 3.0. This approach allows you to manage multiple stages of your lab simultaneously, easily switch between versions, and track its evolution over time.
The title of a lab can be customized for each version, giving each iteration its own identity, while the lab’s name remains unique across all versions. This is the name that will be used in the urls when accessing your lab.
Read more
Section titled “Read more”You can also use your own GitHub repository to start your lab. See the Getting Started (Code flow) to learn more.
Importing Your Lab
Section titled “Importing Your Lab”If the lab already exists in a GitHub repository, import it instead of creating it here. Your organization needs the GitHub integration set up first.
See Importing a lab from a repository for the dialog and its fields, and Setting up the GitHub integration for the one-time account setup.
What’s Next
Section titled “What’s Next”In the next step, you’ll define the infrastructure that powers your lab by creating containers, networks, and user interface elements that users will interact with.
