Skip to main content

TemplateBase

Base class for building E2B sandbox templates.

Implements

  • TemplateFromImage
  • TemplateBuilder
  • TemplateFinal

Constructors

Parameters
Returns
TemplateBase

Methods

addMcpServer()

Install MCP servers using mcp-gateway. Note: Requires a base image with mcp-gateway pre-installed (e.g., mcp-gateway).
Parameters
Returns
TemplateBuilder
Throws
If the base template is not mcp-gateway
Example
Implementation of
TemplateBuilder.addMcpServer

aptInstall()

Install Debian/Ubuntu packages using apt-get.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.aptInstall

betaDevContainerPrebuild()

Prebuild a devcontainer from the specified directory.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.betaDevContainerPrebuild

betaSetDevContainerStart()

Start a devcontainer from the specified directory.
Parameters
Returns
TemplateFinal
Example
Implementation of
TemplateBuilder.betaSetDevContainerStart

bunInstall()

Install Bun packages using bun.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.bunInstall

copy()

Copy files or directories into the template.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.copy

copyItems()

Copy multiple items with individual options.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.copyItems

fromAWSRegistry()

Start from a Docker image in AWS ECR.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateFromImage.fromAWSRegistry

fromBaseImage()

Start from E2B’s default base image (e2bdev/base:latest).
Returns
TemplateBuilder
Example
Implementation of
TemplateFromImage.fromBaseImage

fromBunImage()

Start from a Bun-based Docker image.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateFromImage.fromBunImage

fromDebianImage()

Start from a Debian-based Docker image.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateFromImage.fromDebianImage

fromDockerfile()

Parse a Dockerfile and convert it to Template SDK format.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateFromImage.fromDockerfile

fromGCPRegistry()

Start from a Docker image in Google Container Registry.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateFromImage.fromGCPRegistry

fromImage()

Start from a custom Docker image.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateFromImage.fromImage

fromNodeImage()

Start from a Node.js-based Docker image.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateFromImage.fromNodeImage

fromPythonImage()

Start from a Python-based Docker image.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateFromImage.fromPythonImage

fromTemplate()

Start from an existing E2B template.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateFromImage.fromTemplate

fromUbuntuImage()

Start from an Ubuntu-based Docker image.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateFromImage.fromUbuntuImage

gitClone()

Clone a Git repository.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.gitClone

makeDir()

Create directories.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.makeDir
Create a symbolic link.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.makeSymlink

npmInstall()

Install Node.js packages using npm.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.npmInstall

pipInstall()

Install Python packages using pip.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.pipInstall

remove()

Remove files or directories.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.remove

rename()

Rename or move a file or directory.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.rename

runCmd()

runCmd(command, options)
Run a shell command.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.runCmd
runCmd(commands, options)
Run a shell command.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.runCmd

setEnvs()

Set environment variables.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.setEnvs

setReadyCmd()

Set or update the ready check command.
Parameters
Returns
TemplateFinal
Example
Implementation of
TemplateBuilder.setReadyCmd

setStartCmd()

Set the start command and ready check.
Parameters
Returns
TemplateFinal
Example
Implementation of
TemplateBuilder.setStartCmd

setUser()

Set the user for subsequent commands.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.setUser

setWorkdir()

Set the working directory.
Parameters
Returns
TemplateBuilder
Example
Implementation of
TemplateBuilder.setWorkdir

skipCache()

Skip cache for all subsequent build instructions from this point.
Returns
this
Example
Implementation of
TemplateBuilder.skipCache

build()

Build and deploy a template to E2B infrastructure.
Parameters
Returns
Promise<void>
Example

toDockerfile()

Convert a template to Dockerfile format. Note: Templates based on other E2B templates cannot be converted to Dockerfile.
Parameters
Returns
string Dockerfile string representation
Throws
Error if the template is based on another E2B template

toJSON()

Convert a template to JSON representation.
Parameters
Returns
Promise<string> JSON string representation of the template

Interfaces

TemplateBuilder

Main builder state for constructing templates. Provides methods for customizing the template environment.

Methods

addMcpServer()

Install MCP servers using mcp-gateway. Note: Requires a base image with mcp-gateway pre-installed (e.g., mcp-gateway).
Parameters
Returns
TemplateBuilder
Throws
If the base template is not mcp-gateway
Example

aptInstall()

Install Debian/Ubuntu packages using apt-get.
Parameters
Returns
TemplateBuilder
Example

betaDevContainerPrebuild()

Prebuild a devcontainer from the specified directory.
Parameters
Returns
TemplateBuilder
Example

betaSetDevContainerStart()

Start a devcontainer from the specified directory.
Parameters
Returns
TemplateFinal
Example

bunInstall()

Install Bun packages using bun.
Parameters
Returns
TemplateBuilder
Example

copy()

Copy files or directories into the template.
Parameters
Returns
TemplateBuilder
Example

copyItems()

Copy multiple items with individual options.
Parameters
Returns
TemplateBuilder
Example

gitClone()

Clone a Git repository.
Parameters
Returns
TemplateBuilder
Example

makeDir()

Create directories.
Parameters
Returns
TemplateBuilder
Example
Create a symbolic link.
Parameters
Returns
TemplateBuilder
Example

npmInstall()

Install Node.js packages using npm.
Parameters
Returns
TemplateBuilder
Example

pipInstall()

Install Python packages using pip.
Parameters
Returns
TemplateBuilder
Example

remove()

Remove files or directories.
Parameters
Returns
TemplateBuilder
Example

rename()

Rename or move a file or directory.
Parameters
Returns
TemplateBuilder
Example

runCmd()

runCmd(command, options)
Run a shell command.
Parameters
Returns
TemplateBuilder
Example
runCmd(commands, options)
Run multiple shell commands.
Parameters
Returns
TemplateBuilder
runCmd(commandOrCommands, options)
Run command(s).
Parameters
Returns
TemplateBuilder

setEnvs()

Set environment variables.
Parameters
Returns
TemplateBuilder
Example

setReadyCmd()

Set or update the ready check command.
Parameters
Returns
TemplateFinal
Example

setStartCmd()

Set the start command and ready check.
Parameters
Returns
TemplateFinal
Example

setUser()

Set the user for subsequent commands.
Parameters
Returns
TemplateBuilder
Example

setWorkdir()

Set the working directory.
Parameters
Returns
TemplateBuilder
Example

skipCache()

Skip cache for all subsequent build instructions from this point.
Returns
this
Example

Type Aliases

BuildOptions

Options for building a template with authentication.

Type declaration


CopyItem

Configuration for a single file/directory copy operation.

Type declaration


McpServerName

MCP server names that can be installed.

TemplateClass

Type representing a template in any state (builder or final).

Functions

Template()

Create a new E2B template builder instance.

Parameters

Returns

TemplateFromImage A new template builder instance

Example