Learn how to deploy your first Instruqt track.


Tracks are guided learning experiences. There are two main parts to a track:

Every time a learner plays a track, the following occurs:

  1. Instruqt deploys a sandbox.

  2. The first challenge is presented to the leaner.

  3. The learner solves the challenge by interacting with the sandbox, and optionally checks their work.

  4. The subsequent challenge is displayed, or the track finishes.


You will build a track that teaches learners how to create files and directories in Linux.

Step 1: Create a track

Create a track with the Instruqt Web UI or CLI:

To use the Instruqt CLI you must install the executable. Instructions can be found here.

  1. Click Create track in the upper-right corner of the Content page.

  2. Select Use template from the dropdown.

  3. Click Select on the Sandbox container template. This template has an Ubuntu container in its sandbox, and an initial challenge created. ā†³ This opens a "Create track" dialogue

  4. Input a track title and slug (URL).

  5. Finally, click Create. ā†³ This opens the Track dashboard page

A track slug is a unique identifier for your tracks, often used in URLs.

Step 2: Add a challenge

A challenge has a few components:

  • A title, slug, and assignment.

  • Tabs with components that you make available to the learner. For example, a terminal.

  • Scripts that prepare the challenge, check if the learner solved the challenge, etc.

Add a second challenge to the track with the Instruqt Web UI or CLI:

  1. In the Challenges section of the Track dashboard page, click Add new.

  2. Select Assignment from the dropdown. ā†³ This opens a new challenge page

  3. Enter Creating a text file and creating-file as the challenge name and URL.

  4. In the Description field, enter Learn how to create a text file.

  5. In the upper-right corner, click Save.

  6. From the top menu bar, click Tabs.

  7. Click Add new tab.

  8. Select the Terminal tab type.

  9. In the Tab name field, enter Shell. In the Select your host list, pick container.

  10. Click Save.

  11. From the top menu bar, click Assignment and enter the following markdown:

    Let's create a text file
    Use the `echo` command to create the text file named "quickstart":
    echo "This quickstart rocks" > quickstart
    To complete this track, click the **Check** button.
  12. Click Save changes.

Step 3: Add a check script

You can expand a challenge with a script to check if a learner has solved the challenge. This way, you can support the learner if they need help, or praise then when solving a challenge.

Add a script that checks if the learner created the required text file:

  1. Click the Creating a text file challenge.

  2. Click Scripts to open the Lifecycle Scripts page.

  3. Under container, click check.

  4. Enter the following bash script to check if the learner created the text file:

    set -euxo pipefail
    echo "Checking if the text file quickstart exists."
    if [ -f /root/quickstart ]
        echo "The text file quickstart exists"
        fail-message "There is no text file named quickstart, did you create it?"
  5. Click Save.

  6. Click the track name in the upper-left to open the Track dashboard page again.

Read the Lifecycle Scripts documentation for more information on the types of scripts you can use in your challenges and tracks.

Step 4: Deploy a track (CLI only)

If you are using the CLI, then run the following command to upload your track to Instruqt:

  1. Run the following command to upload your track:

    instruqt track push

Changes made from the web UI are automatically deployed, so no further action is required.

Step 5: Play a track

You can now play your track. Test the track as if you are a learner:

  1. Click Play track on the Track dashboard page.

  2. Wait until your environment is created and click Start.

  3. Solve the first challenge and click Check.

  4. Click Start again and solve the second challenge.

  5. Click Check again to see if you solved the second challenge.

  6. Click Return to overview to close the track execution.

Next steps

We recommend the following articles to continue your learning journey:

Last updated