Skip to content

Commit 032edc3

Browse files
committed
edits
1 parent abd91a2 commit 032edc3

File tree

1 file changed

+64
-1
lines changed

1 file changed

+64
-1
lines changed

docs/admin/templates/extending-templates/devcontainers.md

Lines changed: 64 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,9 @@ Coder names dev container agents in this order:
123123

124124
1. `customizations.coder.name` in `devcontainer.json`
125125
1. Project directory name (name of folder containing `devcontainer.json` or `.devcontainer` folder)
126-
1. If project directory name is already taken, the name is expanded to include the parent folder (`/home/coder/some/project` -> `project` (taken) -> `some-project`)
126+
1. If the project directory name is already taken, the name is expanded to include the parent folder.
127+
128+
For example, if the path is `/home/coder/some/project` and `project` is taken, then the agent is `some-project`.
127129

128130
### Multiple dev containers
129131

@@ -141,6 +143,67 @@ resource "coder_devcontainer" "backend" {
141143
}
142144
```
143145

146+
## Example Docker Dev Container
147+
148+
<details><summary>Expand for the full file:</summary>
149+
150+
```terraform
151+
terraform {
152+
required_providers {
153+
coder = { source = "coder/coder" }
154+
docker = { source = "kreuzwerker/docker" }
155+
}
156+
}
157+
158+
data "coder_workspace" "me" {}
159+
data "coder_workspace_owner" "me" {}
160+
161+
resource "coder_agent" "main" {
162+
os = "linux"
163+
arch = "amd64"
164+
165+
startup_script_behavior = "blocking"
166+
startup_script = "sudo service docker start"
167+
shutdown_script = "sudo service docker stop"
168+
}
169+
170+
module "devcontainers-cli" {
171+
count = data.coder_workspace.me.start_count
172+
source = "dev.registry.coder.com/modules/devcontainers-cli/coder"
173+
agent_id = coder_agent.main.id
174+
}
175+
176+
module "git_clone" {
177+
count = data.coder_workspace.me.start_count
178+
source = "dev.registry.coder.com/modules/git-clone/coder"
179+
agent_id = coder_agent.main.id
180+
url = "https://github.com/coder/coder.git"
181+
base_dir = "/home/coder"
182+
}
183+
184+
resource "coder_devcontainer" "project" {
185+
count = data.coder_workspace.me.start_count
186+
agent_id = coder_agent.main.id
187+
workspace_folder = "/home/coder/${module.git_clone[0].folder_name}"
188+
}
189+
190+
resource "docker_container" "workspace" {
191+
count = data.coder_workspace.me.start_count
192+
image = "codercom/enterprise-node:ubuntu"
193+
name = "coder-${data.coder_workspace_owner.me.name}-${lower(data.coder_workspace.me.name)}"
194+
195+
runtime = "sysbox-runc"
196+
197+
entrypoint = ["sh", "-c", coder_agent.main.init_script]
198+
199+
env = [
200+
"CODER_AGENT_TOKEN=${coder_agent.main.token}",
201+
"CODER_AGENT_URL=${data.coder_workspace.me.access_url}",
202+
"CODER_AGENT_DEVCONTAINERS_ENABLE=true"
203+
]
204+
}
205+
```
206+
144207
## Troubleshoot Common Issues
145208

146209
### Disable dev containers integration

0 commit comments

Comments
 (0)