Skip to content

You are viewing documentation for Instruqt 2.0 Labs which is in Beta currently. Official release date - 29 September, 2026. For Tracks documentation, please visit docs.instruqt.com.

Exec


The Exec resource lets you execute scripts and commands either locally on the host machine or remotely inside containers. It provides a flexible way to automate environment setup, system configuration, and custom workflows as part of your lab sandbox, without needing to write configuration files.

Through the UI, you can define exec settings such as the script content, execution mode (local or remote), timeout, environment variables, and output handling. For remote execution, you can either create a new container or target an existing one, with support for network attachments and volume mounts.

Exec resources are ideal for tasks like installing dependencies, configuring services, running build scripts, and initializing databases during lab setup.

For more information on the exec sandbox resource, please refer to the Exec Reference documentation.

The exec resource supports three distinct execution modes:

  • Local: runs the script directly on the host machine.
  • Remote (new container): creates a new container from a specified image and runs the script inside it. Supports network attachments and volume mounts.
  • Remote (existing resource): runs the script inside an already running container by selecting it from a list of existing ones. Only available when your lab already contains a container resource.

The Working Directory, Timeout, and Run As fields are shown for every mode. The Daemon switch is the only field gated by mode: it only appears in local mode.

Exec resources can be created in the Sandbox tab. To create a new Exec resource, navigate to the Sandbox tab and click the + button. Select Exec from the dropdown menu.

Start by naming the exec resource. Note that this is an internal name. You must provide a script to execute, and optionally configure the execution mode, timeout, environment variables, and other settings.

The Script field is the core of the exec resource, where you write your script directly in the code editor.

By default, the exec resource runs in Local mode on the host machine. To run the script remotely, choose one of:

  • Remote (new container) to create a new container for execution.
  • Remote (existing resource) to run the script inside an existing container.

To edit an exec resource, select it from the list of existing sandboxes in the Sandbox tab. Click on the exec resource you want to edit, make your changes in the configuration panel, and then click Add changes to save your updates. See Editing & Publishing for how changes are reviewed and published.

Field Required? Default Description
Script Script content to execute
Environment Key-value pairs for environment variables

These fields are shown for all three execution modes.

Field Required? Default Description
Working Directory Directory to execute the script in
Timeout Maximum execution time, for example 30s, 5m

The Daemon switch is the exception: it’s only shown in local mode.

Field Required? Default Description
Daemon false Run the script as a background daemon process

This section also includes a Run As group, shown for all three modes:

Field Required? Default Description
User Username or user ID
Group Group name or group ID

These fields appear only in Remote (new container) mode.

Field Required? Default Description
Name Docker image name with optional tag

Selecting a custom image also reveals Username and Password fields for pulling from a private registry.

Field Required? Default Description
ID Reference to a network resource
IP Address Static IP address (auto-assigned if not set)
Field Required? Default Description
Source Source path or volume name
Destination Mount path inside the container
Read Only false Mount the volume as read-only

This field appears only in Remote (existing resource) mode.

Field Required? Default Description
Target Reference to an existing container resource

The Exec resource provides flexible script execution capabilities for automating setup tasks, system configuration, and custom workflows in your lab sandbox. You can run scripts locally on the host or remotely inside containers, either by creating a new container from an image or by targeting an existing one.

With support for environment variables, output capture, timeouts, and advanced container options like volumes, networks, and user configuration, exec resources give you fine-grained control over your lab’s automation without needing to write configuration files.