An example template for building a custom Coder workspace around a project. This includes:
- Coder workspace template -
.coder/coder.yaml - Custom image for Coder -
.coder/img - GitHub Actions CI for building the custom image -
.github/workflows/build-image.yaml - Sample "app code" in
src/
-
Use this template to create your own repository
-
Add secrets to the repository with your Docker Hub account details:
DOCKERHUB_USERNAME (your username for Docker Hub) DOCKERHUB_TOKEN (your password or token) -
Rename
username/projectnamein .coder/coder.yaml andprojectnamein .github.workflows/build-image.yaml. Username should be the same as your DOCKERHUB_USERNAME you set above. -
Push to
main(to build the image). -
Add the image into Coder. (repository: your value for
username/projectnametag:latest) -
If you haven't already, enable Workspace Templates under Manage -> Admin -> Templates
-
You're done! 🎉 Create a new workspace from this template in the Ui, or create an embeddable button/link for others to clone.
- The "project repository" can also be this repository if you want the workspace to be defined in the same place. I often do this.
To modify the image or workspace definition, simply push to main . GitHub actions will re-build the image and Coder will notify developers when an update is available for their workspace.
Check out this video for an overview on how this works: https://youtu.be/BrZhBJtjkYk?t=104