DevZero Logo
DevZero

Custom Base Images

Configure custom OS images for your DevZero workspaces.

Why Use Custom Base Images?

In most enterprise development workflows, consistency and efficiency are critical. Developers often work in environments that rely on standardized OS images pre-configured with necessary tools, libraries, and versions tailored for their specific projects. These custom base images ensure:

  • Consistency: All developers on the team work in identical environments, reducing "it works on my machine" issues.
  • Efficiency: Eliminates time spent installing tools or configuring environments for each new workspace.
  • Compliance: Meets organizational requirements for security or approved software versions.

DevZero provides the flexibility to use custom base images in your workspaces. By specifying a custom base image in the recipe, developers can layer additional software, configurations, and dependencies on top of a base image to create an environment tailored to their specific needs. This leads to less wasted time debugging environment-related issues, time that can instead be spent on core development tasks.

For example, if your organization uses a specific Linux distribution (e.g., Amazon Linux or Debian) with pre-installed dependencies for development, you can define it as the base image in the workspace recipe.

Another example is that if you are working on a machine learning project, you can use a custom base image pre-configured with the correct version of Python, TensorFlow, and GPU drivers.

How to Use Custom Base Images

By default, DevZero uses an image based on Ubuntu Jammy, but you can easily supply your own base image.

Custom base images are currently in beta.

Example Recipe with a Custom Base Image

Here’s an example of a recipe that uses the debian:bookworm image:

version: "3"
config:
  image:
    from: docker.io/debian:bookworm

Below is a screenshot of how an example recipe looks in the DevZero dashboard:

Custom Base Image Recipe

DevZero-Tested Base Images

While you can specify any public image, DevZero has tested and recommends the following images for compatibility:

Using Images from Other Public Registries

You can also specify images from other public registries. For example, to use Amazon Linux from the public ECR registry:

version: "3"
config:
  image:
    from: public.ecr.aws/amazonlinux/amazonlinux:2023

DevZero installs systemd as well as other packages like tar, rsync and ssh if they are not present in the base image and sets up the devzero user in order to provide full access to the platform.

Tutorial Video

Here's a short tutorial demonstrating the use of a custom base image for a recipe:

Need help?

If you face any issues, please send an email to support@devzero.io, or visit https://devzero.io/dashboard and click the "chat" icon in the bottom right-hand side of your browser window. We'd be happy to assist you.

On this page