Skip to content

Step 1 - Project Setup


Labs can be accessed in the Labs section of the menu. All your labs are listed in this page. To create a new lab, click the Create Lab button in the top right corner.

Creating your lab

Let’s call it My Web Server Lab and click Create Lab.

The title is visible to users, whereas the name is used in the lab URL and remains unique across all references in the lab. These values do not need to match and can be modified at any time. For now, we’ll keep them as they are.


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.

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.

Multiple users can work on separate branches simultaneously. If conflicting changes arise, they can be reviewed and resolved before merging, ensuring smooth collaboration.

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.

Alternatively, you can import labs from a GitHub repository. For this, you need to have GitHub configured in your organization. See Integrating Version Control with GitHub to learn more.

Click on the Import lab button. First, select the repository you want to import. The list shows all repositories available across your configured GitHub accounts that Instruqt has permission to access. Use the search bar to filter and find the repository you’re looking for.

Select a repository

After selecting the repository and clicking Next, fill out the lab details:

Fill lab details

  • Name: The name of the lab as it will appear in the platform.
  • Default reference: The branch, tag, or commit hash to use as the default reference for the lab. This defaults to the repository’s default branch in GitHub (e.g., main). You can set a different reference if your lab content lives on a specific branch. For example, if your lab files are on a prod branch rather than main, you can select prod as the default reference so that the platform uses it when opening the lab in edit mode.
  • Lab directory: The path to the lab within the repository. This is useful for mono repositories where your lab is located in a specific directory within the git repository. Defaults to / (the root of the repository) if not set.
  • Repository URL: The URL of the repository, automatically filled from your selection in the previous step.

By clicking Import, the lab will be added to the list of available labs on the platform, making it accessible for running and sharing. All branches from the GitHub repository will be pulled and available as versions of the lab. From this point on, changes made in GitHub will be synced to the platform and changes made in the platform will be pushed back to GitHub.

In the next step, you’ll define the infrastructure that powers your lab by creating containers, networks, and user interface elements that learners will interact with.