Organize templates into per-stack folders
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
resource "docker_image" "workspace" {
|
||||
name = "coder-${data.coder_workspace.me.id}"
|
||||
|
||||
build {
|
||||
context = "."
|
||||
dockerfile = "Dockerfile"
|
||||
}
|
||||
|
||||
keep_locally = true
|
||||
}
|
||||
|
||||
resource "docker_container" "workspace" {
|
||||
count = data.coder_workspace.me.start_count
|
||||
image = docker_image.workspace.name
|
||||
name = "coder-${data.coder_workspace_owner.me.name}-${lower(data.coder_workspace.me.name)}"
|
||||
hostname = data.coder_workspace.me.name
|
||||
|
||||
entrypoint = [
|
||||
"sh", "-c",
|
||||
<<EOT
|
||||
sudo chown -R coder:coder /home/coder
|
||||
for group_id in $(id -G); do
|
||||
getent group "$group_id" >/dev/null 2>&1 || sudo groupadd --gid "$group_id" "host-$group_id" || true
|
||||
done
|
||||
${replace(coder_agent.main.init_script, "/localhost|127\\.0\\.0\\.1/", "host.docker.internal")}
|
||||
EOT
|
||||
]
|
||||
|
||||
gpus = data.coder_parameter.gpu.value == "all" ? "all" : "device=${data.coder_parameter.gpu.value}"
|
||||
group_add = [var.docker_group_id]
|
||||
|
||||
env = [
|
||||
"CODER_AGENT_TOKEN=${coder_agent.main.token}",
|
||||
"NVIDIA_VISIBLE_DEVICES=${data.coder_parameter.gpu.value}",
|
||||
"NVIDIA_DRIVER_CAPABILITIES=all",
|
||||
"OLLAMA_HOST=${local.ollama_host}"
|
||||
]
|
||||
|
||||
host {
|
||||
host = "host.docker.internal"
|
||||
ip = "host-gateway"
|
||||
}
|
||||
|
||||
volumes {
|
||||
container_path = "/home/coder"
|
||||
host_path = local.workspace_home
|
||||
read_only = false
|
||||
}
|
||||
|
||||
volumes {
|
||||
container_path = "/var/run/docker.sock"
|
||||
host_path = "/var/run/docker.sock"
|
||||
read_only = false
|
||||
}
|
||||
|
||||
labels {
|
||||
label = "coder.owner"
|
||||
value = data.coder_workspace_owner.me.name
|
||||
}
|
||||
labels {
|
||||
label = "coder.owner_id"
|
||||
value = data.coder_workspace_owner.me.id
|
||||
}
|
||||
labels {
|
||||
label = "coder.workspace_id"
|
||||
value = data.coder_workspace.me.id
|
||||
}
|
||||
labels {
|
||||
label = "coder.workspace_name"
|
||||
value = data.coder_workspace.me.name
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user