Devcontainers are an open source specification for defining development environments. envbuilder is an open source project by Coder that runs devcontainers via Coder templates and your underlying infrastructure.
There are several benefits to adding a devcontainer-compatible template to Coder:
- Drop-in migration from Codespaces (or any existing repositories that use devcontainers)
- Easier to start projects from Coder (new workspace, pick starter devcontainer)
- Developer teams can "bring their own image." No need for platform teams to manage complex images, registries, and CI pipelines.
Coder admins add a devcontainer-compatible template to Coder (envbuilder can run on Docker or Kubernetes)
Developers can edit the
devcontainer.jsonin their workspace to rebuild to iterate on their development environments.
Parameters can be used to prompt the user for a repo URL when they are creating a workspace.
You may need to authenticate to your container registry (e.g. Artifactory) or git provider (e.g. GitLab) to use envbuilder. Refer to the envbuilder documentation for more information.
To improve build times, devcontainers can be cached. Refer to the envbuilder documentation for more information.
Envbuilder is still under active development. Refer to the envbuilder GitHub repo for more information and to submit feature requests.