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.
Connect
Section titled “Connect”-
In the JetBrains Toolbox App, open the environment dropdown at the top (it reads Local) (1) and choose SSH (2).

-
Add the connection. Either type
node@monoceros-acmeunder New SSH Connection and click Create (1), or findnode@monoceros-acmein the discovered connections below - Toolbox reads them from your~/.ssh/config, whichmonoceros applywrote for you - and click Import (2).
-
The connection
node@monoceros-acmenow appears with a green dot (reachable). Click Install a tool (1) to put a JetBrains IDE on it.
-
Pick the IDE to run in the container: one that’s already installed (e.g. WebStorm) (1), or install one from Available Tools (2).

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.
-
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/....
The thin client runs locally against that backend; later connects reuse it, so the download only happens once (see below).
Windows / WSL
Section titled “Windows / WSL”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).
The backend is heavy, but shared
Section titled “The backend is heavy, but shared”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 applyrebuild.
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:
docker volume rm monoceros-jetbrains-distTrouble?
Section titled “Trouble?”See the IDE FAQ.