Skip to content

JetBrains

JetBrains IDEs attach over SSH through the JetBrains Toolbox App. It connects to the running container and runs the IDE backend there - it does not rebuild the container.

Prerequisites: Docker is running, the workbench is applied and up (monoceros apply acme), the JetBrains Toolbox App is installed, and you have a licensed JetBrains IDE for the backend (IntelliJ IDEA Ultimate, WebStorm, PyCharm Professional, GoLand, …). Community editions can’t run a remote backend; WebStorm and Rider are free for non-commercial use.

  1. In the JetBrains Toolbox App, open the environment dropdown at the top (it reads Local) (1) and choose SSH (2).

    JetBrains Toolbox: the environment dropdown open with SSH selected
  2. Add the connection. Either type node@monoceros-acme under New SSH Connection and click Create (1), or find node@monoceros-acme in the discovered connections below - Toolbox reads them from your ~/.ssh/config, which monoceros apply wrote for you - and click Import (2).

    JetBrains Toolbox: New SSH Connection with node@monoceros-acme, and the discovered connections list with an Import button
  3. The connection node@monoceros-acme now appears with a green dot (reachable). Click Install a tool (1) to put a JetBrains IDE on it.

    JetBrains Toolbox: the configured node@monoceros-acme connection with an Install a tool action
  4. Pick the IDE to run in the container: one that’s already installed (e.g. WebStorm) (1), or install one from Available Tools (2).

    JetBrains Toolbox: choosing a JetBrains IDE for the node@monoceros-acme connection

    If that IDE’s backend isn’t on the container yet, Toolbox downloads it into the container at this point, before the IDE opens - on a first connect that can take a few minutes.

  5. The IDE launches, connected to the container. Open your project: New Project (1) to start fresh, or Open to pick your repo under /workspaces/acme/projects/....

    WebStorm welcome screen running against the container, with New Project, Open and Clone Repository

The thin client runs locally against that backend; later connects reuse it, so the download only happens once (see below).

Works the same. monoceros apply runs in WSL but also writes the Windows ~/.ssh/config entry and key, so the Toolbox App on Windows discovers node@monoceros-acme in the import list. You need Docker Desktop (provides docker.exe) and the Windows OpenSSH client (bundled since Windows 10).

JetBrains remote development is large by design: a thin client locally plus a full IDE backend (multiple GB) inside the container. Monoceros softens this:

  • The backend distribution is stored in one machine-wide Docker volume, shared by all your containers - so it downloads once, not per container.
  • Per-project state (indexes, settings, recent projects) stays per-container and survives a monoceros apply rebuild.

monoceros remove acme clears the per-container state but leaves the shared backend volume in place (other containers use it). To reclaim that disk once you no longer run any JetBrains container:

Terminal window
docker volume rm monoceros-jetbrains-dist

See the IDE FAQ.