Intellij does not accept workspace
Hi, I am at the very beginning of evaluating Coder. I am using IDEA version 2024.2.1 with Coder Plugin version 2.14.2 on Windows 11 and have Coder version v2.15.0+190cd1c installed in a very rudimentary way on Debian 12, with a simple workspace created. When I want to start remote development with Coder, the created workspaces are displayed, but the "select IDE and project" button is inactive. Which step did I miss in the installation instructions? Thx
32 Replies
<#1289863020855689257>
Category
Help needed
Product
Coder OSS (v2)
Platform
Linux
Logs
Please post any relevant logs/error messages.
Are there perhaps specific IntelliJ templates for Coder that are not included in the standard installation? In any case, I didn't see anything right away on how to create an IntelliJ-compatible workspace.
hello, could you send a screenshot of the page of your "intellijdocker" workspace?
i think we have some but it should already work out of the box
no "intellijdocker", the name is "intellijcoder"
Something must already be missing when creating the workspace. In the Coder documentation, the IntelliJ logo is shown on the workspace. If there is something special about this, a corresponding note is missing in the documentation.
sorry, got mismatched
can you show the page when you click on its name?
we should edit this in the docs
this was for the web version of IntelliJ which used Projector, but that was discontinued by JetBrains
you don't need anything specific for JetBrains IDEs to work remotely AFAIK
I'm having trouble with this. A few days ago, it didn't work at all with the latest IntelliJ version because the Coder plugin threw an exception. Now, the Coder plugin has been adjusted for the new IntelliJ version. When I click on the workspace, nothing changes.
oh okay so there's an issue with your template, you should have a Coder agent there
could you send your template over so that I can take a look?
the .tf file
I created the simplest possible template. The displayed main.tf looks like this: terraform {
required_providers {
coder = {
source = "coder/coder"
}
}
}
data "coder_provisioner" "me" {}
data "coder_workspace" "me" {}
resource "coder_agent" "main" {
arch = data.coder_provisioner.me.arch
os = data.coder_provisioner.me.os
metadata {
display_name = "CPU Usage"
key = "0_cpu_usage"
script = "coder stat cpu"
interval = 10
timeout = 1
}
metadata {
display_name = "RAM Usage"
key = "1_ram_usage"
script = "coder stat mem"
interval = 10
timeout = 1
}
}
Use this to set environment variables in your workspace
details: https://registry.terraform.io/providers/coder/coder/latest/docs/resources/env
resource "coder_env" "welcome_message" {
agent_id = coder_agent.main.id
name = "WELCOME_MESSAGE"
value = "Welcome to your Coder workspace!"
}
Adds code-server
See all available modules at https://registry.coder.com
module "code-server" {
source = "registry.coder.com/modules/code-server/coder"
version = "1.0.2"
agent_id = coder_agent.main.id
}
Runs a script at workspace start/stop or on a cron schedule
details: https://registry.terraform.io/providers/coder/coder/latest/docs/resources/script
resource "coder_script" "startup_script" {
agent_id = coder_agent.main.id
display_name = "Startup Script"
script = <<-EOF
#!/bin/sh
set -e
# Run programs at workspace startup
EOF
run_on_start = true
start_blocks_login = true
}
Following the instructions in main.tf, I adjusted the template, clicked on "build," and then on "promote." However, the button to start the IDE is still disabled.
could you wrap it in a code block or send it in a file? Discord's formatting is screwing it up
yes, this makes sense
given your template, you are not provisioning any compute
however, Coder itself is only used for the provisioning part, you can't spawn workspaces without a "runtime" environment for them (e.g Docker, Kubernetes, AWS EC2, etc)
take a look at our starter templates for help on how to achieve this
And another attempt with two modules and the build log for it. Unfortunately, the result is unchanged. It would be helpful if there were a beginner's guide that explains step by step how to create a workspace for JetBrains Gateway, and that it is linked where the use of JetBrains is mentioned, but assuming an existing workspace. I want to evaluate Coder in the simplest way possible, and for that, I installed Coder on Debian 12, for which there is also a guide. So, Docker, Kubernetes, or Cloud providers are not involved yet. For me, the "scratch" template seemed like the only sensible starting point, and I just added the JetBrains Gateway as a module in the main.tf file, as described earlier. What you're saying is probably all correct, but I don't want to evaluate the documentation and fill in things here and there—I want to see a simple, working start.
I understand what you mean, as I've said earlier there are no particular prerequisites to use JetBrains gateway with Coder, but in the case of the "scratch" template, it will never work out of the box, it is intended for people who want to provision compute resources that we don't have examples for
basically, you are creating a Coder workspace with nothing in it, therefore you can't use JetBrains Gateway with it because there is no machine/container/etc associated to that workspace
to evaluate Coder in the simplest way possible I would recommend that you grab the template for the runtime on which you are hosting Coder
so, if you installed Coder in Docker then pick the Docker template
usually Docker/k8s are the simplest
What is the Coder plugin in IntelliJ missing that prevents it from enabling the start button when selecting a displayed workspace?
the plugin itself is looking for an agent connected to a machine for that particular workspace, in your case the workspace has no agent
see this example for Docker
Docker Containers - Coder Registry
Provision Docker containers as Coder workspaces
it provisions a Docker container and runs the Coder agent in that container, which links it to the workspace
momento, wrong image.
Ok
yes, this is due to the fact that your template does not configure an agent and compute
we do not show warnings but we definitely should because in this state it does not provide the resources necessary to do anything
I am missing some information from the documentation. When I use the Docker template, I can't create a workspace because a Dockerfile is missing. I assume that this Dockerfile refers to my development environment. But where do I specify where this Dockerfile should be located? Where is the interaction between the Coder server, templates, and workspaces described in detail?
did you use the full template or did you just copy the main.tf file into your current template?
I don't know if there's any description because it's fairly simple
the Coder server runs Terraform to provision workspaces using the templates
I'm only clicking ..
how did you deploy Coder?
Just docker compose as seen on the installation pages.
alright, so in this case, since the Coder user does not have write permissions on the Docker socket, you should uncomment these lines to give it access to the socket.
and replace
998
by the output of getent group docker
Gracias. Now I was able to create a workspace and can use Goland through the JetBrains Gateway. Thank you for your support with this frustrating process.
no worries!
we'll try to make it clearer in the future!