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 .yaml or .yml extension.

Requirements

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.

Creating a workspace template

You can find a fully populated workspace template and descriptions of each field in our syntax guide.

Creating a workspace using a template

To create a new workspace using a template, go to New Workspace > Create from Template.

Create from template button

When prompted, provide:

  • Workspace Name: A name for your workspace
  • Git Repository URL: The git repository that contains your coder.yaml configuration 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 will be .coder/coder.yaml, but if you choose a different path, provide it here

Create workspace from template

Adding an embeddable button

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.

Using templates with Coder for Docker

Coder for Docker supports the use of workspace templates. However, the configuration has some differences that are outlined in our setup doc.

See an opportunity to improve our docs? Make an edit.