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", </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 } }