Skip to content

Builders

Builders are responsible for creating a container image with everything you need to be productive. Daytona provides control over how the resulting Project environment is created, allowing you to choose your preferred method to pull in your project’s tools, dependencies, and configuration.

When creating a Workspace, you can choose between the following Builders during the Advanced Configuration step:

  1. Automatic
    Daytona builds the Project image after auto-detecting the most appropriate Builder.
  2. Dev Container
    Daytona builds the Project image according to the Dev Container configuration located in the project.
  3. Custom Image
    Daytona builds the Project image using an image you specify.
  4. None
    Daytona creates the Project using the default base image.

Automatic Builder

Daytona can auto-detect the most appropriate Builder for your project. When choosing this option, Daytona uses the following logic to determine which Builder to use:

  1. Check if a Dev Container configuration is present at .devcontainer.json or .devcontainer/devcontainer.json, relative to the repository root.
  2. If present, use the Dev Container Builder.
  3. If not present, use the None Builder.

Dev Container Builder

You can build the Project image using the Dev Container standard. The following options are accepted when using this Builder:

  1. Devcontainer file path
    The path where the Dev Container configuration is located, relative to the repository root. The default value is .devcontainer/devcontainer.json.

Custom Image Builder

You can build the Project image by specifying a custom base container. The following options are accepted when using this Builder:

  1. Custom container image
    The name of the base container image for the Project.
  2. Container user
    The user to execute commands as during the image build process.
  3. Post start commands
    Commands to execute once the Project is started.
  4. Environment variables
    A list of environment variables in the format KEY=VALUE.

None

Daytona can build a Project using the default base image. Unless otherwise configured using daytona server configure, the default base image is set to daytonaio/workspace-project.