Skip to content

Creating Tabs

Tabs are interactive UI elements that display different types of content in your lab interface. They provide access to terminals, web applications, code editors, external documentation, and reference materials. Tabs help organize your lab environment by allowing users to switch between multiple tools and resources without cluttering the interface.

You configure tabs within layout resources, which define how your lab’s interface is structured and what tools users have access to.

The Instruqt platform supports five main tab types:

  • Terminal - Interactive command-line access to containers
  • Service/Web Application - Web applications and HTTP/HTTPS services
  • Code Editor - Browser-based code and file editor
  • Web Browser - Embedded external documentation and tools
  • Note/Document - Static reference materials and documentation

Screenshot showing a lab interface with multiple tabs including terminal, service, editor, external website, and note

When adding a new tab, you can choose from the following types:

Adding tabs to layouts

Terminal tabs provide command-line access to containers in your lab. They’re essential for hands-on tasks that require users to run commands, edit files, or interact with services.

Supported fields:

FieldRequiredDescription
Name (internal)Used for internal reference. Not visible to end users
TargetContainer to attach the terminal to
ShellShell program to use (default: /bin/sh)
UserUser to run terminal as (default: root)
GroupGroup to run terminal as (default: root)
Working DirectoryInitial working directory (default: /)
CommandCommand to execute instead of interactive shell

Terminal tab configuration form

Service tabs expose web applications, APIs, and dashboards running in your containers. They create an HTTP/HTTPS proxy that users can access directly from the lab interface.

Supported fields:

FieldRequiredDescription
Name (internal)Used for internal reference. Not visible to end users
TargetContainer hosting the service
SchemeProtocol: http or https (default: http)
PortPort number the service listens on
PathURL path to append to requests

Service tab configuration form

Editor tabs provide a browser-based code editor with support for multiple workspaces. Users can edit files from your local filesystem or directly from containers.

Supported fields:

FieldRequiredDescription
Name (internal)Used for internal reference. Not visible to end users

Workspace block fields:

FieldRequiredDescription
Name (internal)Used for internal reference. Not visible to end users
DirectoryPath to directory to expose
TargetContainer to access files from (optional)

Editor tab configuration form

External website tabs embed external documentation, cloud consoles, or online tools directly in your lab interface. This keeps users focused on the lab without switching browser tabs.

Supported fields:

FieldRequiredDescription
Name (internal)Used for internal reference. Not visible to end users
URLURL of external website (must use HTTPS)
Open in new windowOpen in new browser window (default: false)

External website tab configuration form

Note tabs display static markdown content for reference materials, quick tips, or supplementary documentation. Unlike instruction pages, notes don’t support progress tracking or interactive components.

Supported fields:

FieldRequiredDescription
Name (internal)Used for internal reference. Not visible to end users
ContentMarkdown content for the note

Note tab configuration form

After creating your tab resources (terminal, service, editor, etc.), you add them to your lab interface through layouts. For detailed instructions on adding tabs to layouts, see Adding Tabs to a Layout.

Tabs are the building blocks of your lab’s interactive interface. By combining different tab types—terminals, services, editors, external websites, and notes—you create comprehensive learning environments that provide everything users need in one place.

Key points to remember:

  • Five tab types: Terminal, Service, Editor, External Website, and Note
  • Usage in layouts: Tabs are created as resources and added to layouts

For detailed information about each tab type, see the reference documentation:

For guidance on designing effective layouts, see Designing Layouts.