Skip to content

Commit 0dfaffc

Browse files
sharkymarkericpaulsenbpmct
authored
docs: JetBrains Gateway - configuration to leverage installed IDE already in workspace (#1164)
* docs: updated jetbrains gateway procedures to point to an existing installed IDE * docs: add links to jetbrains support including existing IDE config article * docs: add blanks by headings in gateway; remove end of line spaces * minor changes * Update workspaces/editors.md * Update workspaces/editors.md Co-authored-by: Eric Paulsen <ericpaulsen@coder.com> Co-authored-by: Ben Potter <ben@coder.com>
1 parent 9222400 commit 0dfaffc

10 files changed

+65
-27
lines changed

assets/workspaces/connect-to-ssh.png

48.1 KB
Loading
-17.1 KB
Loading
-42.9 KB
Loading
-129 KB
Loading

assets/workspaces/gateway-opened.png

-79.2 KB
Loading
-18.7 KB
Loading
-115 KB
Binary file not shown.
-49.8 KB
Loading

workspaces/editors.md

+65-27
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,19 @@ code-server -r personalize.log
8888
8989
## JetBrains Gateway with SSH
9090

91-
If your image
92-
[includes a JetBrains IDE](../admin/workspace-management/installing-jetbrains.md)
93-
and you've [set up SSH access to Coder](./ssh.md), you can use JetBrains Gateway
94-
to run a local JetBrains IDE connected to your Coder workspace.
91+
[Gateway](https://www.jetbrains.com/remote-development/gateway/) is JetBrains'
92+
preferred remote development solution. Projector (the browser-based option) is
93+
[no longer recommended](https://lp.jetbrains.com/projector/) by JetBrains.
9594

96-
Please note that:
95+
> By default, Gateway will download the IDE from jetbrains.com into the
96+
> Coder workspace during the setup. If you are air-gapped or want to leverage a
97+
> JetBrains IDE in your workspace for faster setup, you can point to an
98+
> already-installed JetBrains IDE. See the configuration at the end of this
99+
> Gateway section.
97100
101+
Requirements:
102+
103+
- SSH access to Coder must [already be configured](./ssh.md)
98104
- Your Coder workspace must be running. Gateway needs compute resources, so
99105
monitor your resource usage on the Coder dashboard and adjust accordingly.
100106
- If you use a premium JetBrains IDE (e.g., GoLand, IntelliJ IDEA Ultimate), you
@@ -115,38 +121,70 @@ Please note that:
115121

116122
![Connect Gateway to SSH](../assets/workspaces/gateway-connect-to-ssh.png)
117123

118-
1. Enter your Coder workspace alias target in **Host** (e.g.,
119-
`coder.mark-python`), `22` in **Port**, `coder` in **User name**, and change
120-
**Authentication Type** to **OpenSSH config and authentication agent**. Leave
121-
the local port field blank. Click **Test Connection**.
124+
1. Enter your Coder workspace host name in **Host** (e.g.,
125+
`coder.mark-intellij`), `22` in **Port**, `coder` in **User name**, and
126+
change **Authentication Type** to **OpenSSH config and authentication
127+
agent**. You can find the workspace host names in `~/.ssh/config`. Leave the
128+
local port field blank. Click **Test Connection**.
122129

123-
![Gateway SSH Configurations](../assets/workspaces/gateway-ssh-configurations.png)
130+
![Gateway SSH
131+
Configurations](../assets/workspaces/gateway-ssh-configurations.png)
124132

125-
1. With your created configuration in the **Connection** chosen in the drop-down
126-
field, click **Test Connection**, then **OK**.
133+
1. Choose your new connection from the drop-down and click Check Connection and
134+
Continue
127135

128-
![Test Gateway Connection](../assets/workspaces/gateway-test-connection.png)
136+
![Connect to SSH](../assets/workspaces/connect-to-ssh.png)
129137

130-
1. Select a JetBrains IDE from the IDE version drop-down. Choose the IDE
131-
installed in your Coder workspace, and click the folder icon and select your
132-
`/home/coder` directory in your Coder workspace.
138+
1. The default behavior is to select a JetBrains IDE from the IDE version
139+
drop-down and download it from jetbrain.com. Choose the IDE installed in your
140+
Coder workspace, and click the folder icon and select your `/home/coder`
141+
directory in your Coder workspace.
133142

134-
![Select JetBrains IDE and working directory](../assets/workspaces/gateway-ide-and-project.png)
143+
![Select JetBrains IDE and working
144+
directory](../assets/workspaces/gateway-ide-and-project.png)
135145

136-
1. During this installation step, Gateway downloads the IDE and a JetBrains
137-
client. This may take a couple minutes.
146+
If you ran `remote-dev-server.sh` (see note below) before starting the config
147+
setup, JetBrains will detect your already installed IDE in the drop-down.
138148

139-
![Gateway downloading IDE and client](../assets/workspaces/gateway-download-client.png)
149+
![Select JetBrains IDE and working
150+
directory](../assets/workspaces/gateway-ide-already-installed-and-project.png)
140151

141-
![Code with Me starting up](../assets/workspaces/gateway-code-with-me-loading.png)
152+
1. Gateway will open the JetBrains client connected to the remotely installed
153+
IDE.
142154

143-
![A running JetBrains IDE in Gateway](../assets/workspaces/gateway-ide-running.png)
155+
![A running JetBrains IDE in
156+
Gateway](../assets/workspaces/gateway-ide-running.png)
144157

145-
> If your Coder deployment is configured with ECDSA ssh key algorithm, change
146-
> the Gateway authentication type to **Key pair** and create the Coder public
147-
> ssh key in your local `~/.ssh` directory with `ssh-keygen -y -f`:
148-
>
149-
> `~/.ssh/coder_enterprise | tee ~/.ssh/coder_enterprise.pub`
158+
### Using an existing JetBrains installation in the workspace
159+
160+
If you would like to use an existing JetBrains IDE in a Coder workspace (or you
161+
are air-gapped, and cannot reach jetbrains.com), run the following script in the
162+
JetBrains IDE directory to point the default Gateway directory to the IDE
163+
directory. This step must be done before configuring Gateway.
164+
165+
```sh
166+
cd /opt/idea
167+
./remote-dev-server.sh registerBackendLocationForGateway
168+
```
169+
170+
[Here is the JetBrains article](https://www.jetbrains.com/help/idea/remote-development-troubleshooting.html#setup:~:text=Can%20I%20point%20Remote%20Development%20to%20an%20existing%20IDE%20on%20my%20remote%20server%3F%20Is%20it%20possible%20to%20install%20IDE%20manually%3F)
171+
explaining this IDE specification.
172+
173+
### Alternative SSH key algorithms and Gateway
174+
175+
If your Coder deployment is configured with ECDSA ssh key algorithm, change the
176+
Gateway authentication type to **Key pair** and create the Coder public ssh key
177+
in your local `~/.ssh` directory with `ssh-keygen -y -f`:
178+
179+
```sh
180+
~/.ssh/coder_enterprise | tee ~/.ssh/coder_enterprise.pub
181+
```
182+
183+
### Support & troubleshooting
184+
185+
[This article](https://www.jetbrains.com/help/idea/remote-development-troubleshooting.html#setup)
186+
outlines troubleshooting steps with Gateway. JetBrains product support including
187+
their Issue Trackers [are here.](https://www.jetbrains.com/support/)
150188

151189
## JetBrains IDEs in the browser
152190

0 commit comments

Comments
 (0)