Workspace templates brings the infrastructure as code paradigm to Coder workspaces. Templates allow you to define and create new workspaces using YAML.
Workspace templates are declarative YAML files that describe
how to configure workspaces and their supporting infrastructure. Coder supports
files with either the
- You must configure a Git OAuth service of your choice
- The image you use in your template must have been imported into Coder
.coder/<template-name>.yamlfile exists in your repository.
We strongly recommend allowing the Git provider to run a webhook capable of reaching the Coder server for immediate template updates. Otherwise, Coder will update your workspace templates daily.
You can find a fully populated workspace template and descriptions of each field in our syntax guide.
To create a new workspace using a template, go to New Workspace > Create from Template.
When prompted, provide:
- Workspace Name: A name for your workspace
- Git Repository URL: The git repository that contains your
coder.yamlconfiguration file. See Workspace templates for more information about these files
- Branch: The branch in your git repo to track
- Path to template: The path to your workspace template. By default, this
.coder/coder.yaml, but if you choose a different path, provide it here
To make it easy for your developers to use your template, you can generate an embeddable Markdown button for use in your repo. See the admin guide for details.
Coder for Docker supports the use of workspace templates. However, the configuration has some differences that are outlined in our setup doc