@ -707,7 +707,7 @@ Steps to get it running, assuming that you already have keyring and key-based SS
In container (one of the sources: https://github.com/microsoft/vscode-remote-release/issues/6347):
In container (one of the sources: https://github.com/microsoft/vscode-remote-release/issues/6347):
```
```
doas apk add gcompat libstdc++ curl bash git procps
doas apk add gcompat libstdc++ curl bash git
```
```
and enable `AllowTcpForwarding` and `PermitTunnel` in `/etc/ssh/sshd_config`.
and enable `AllowTcpForwarding` and `PermitTunnel` in `/etc/ssh/sshd_config`.
@ -715,6 +715,19 @@ On host (where you intend to run IDE client):
`doas apk add code-oss`
`doas apk add code-oss`
> ##### Patch code-oss manifests
>
> (TODO: figure how to optimize this step without having to manually patch them after every update)
>
> In /usr/lib/code-uss/resources/app:
>
> * Update `product.json`: add `commit` field corresponding to the matching release of openvscode-server.
>
> Additionally, if there is no openvscode-server of the exact same version (for example, latest code-oss in aports at some point was 1.83.1, but openvscode-server was only released for 1.83.0):
>
> * Update `package.json`: update `version` and `distro` fields to refer to the compatible version https://github.com/gitpod-io/openvscode-server/releases ;
Run `code-oss`, add "Open Remote - SSH" extension by jeanp413.
Run `code-oss`, add "Open Remote - SSH" extension by jeanp413.
Go to its settings, and:
Go to its settings, and:
@ -723,20 +736,7 @@ Go to its settings, and:
(otherwise it will download VSCodium server-side builds by default).
(otherwise it will download VSCodium server-side builds by default).
* Set "Experimental: Server Binary Name" to `openvscode-server` (otherwise it will try to launch remote `code-server-oss` which does not exist and never will, taking its name from Code OSS `product.json`).
* Set "Experimental: Server Binary Name" to `openvscode-server` (otherwise it will try to launch remote `code-server-oss` which does not exist and never will, taking its name from Code OSS `product.json`).
Exit `code-oss`.
You'll get remote button under the marketplace button.
Add `"enable-proposed-api": ["jeanp413.open-remote-ssh"]` at the root level of `~/.vscode-oss/argv.json`.
> ##### Patch code-oss manifests
>
> (TODO: figure how to optimize this step without having to manually patch them after every update)
>
> In /usr/lib/code-uss/resources/app:
>
> * Update `package.json`: update `version` and `distro` fields to refer to the compatible version https://github.com/gitpod-io/openvscode-server/releases (for example, latest code-oss in aports at the moment of this writing is 1.83.1, but openvscode-server is only released for 1.83.0);
> * Update `product.json`: update `version` field and add `commit` field as needed; change `serverApplicationName` from `code-server-oss` (which does not exist and never will) to `openvscode-server` ()
Run `code-oss` again, you'll get remote button under the marketplace button.
Go there, add your host, right-click it, connect.
Go there, add your host, right-click it, connect.
Connection should be successful, and you should see "connected to remote" on Code OSS main screen.
Connection should be successful, and you should see "connected to remote" on Code OSS main screen.
@ -754,7 +754,7 @@ Connection should be successful, and you should see "connected to remote" on Cod
> rm node
> rm node
> cp node-v18.15.0-linux-x64-musl/bin/node .
> cp node-v18.15.0-linux-x64-musl/bin/node .
> ```
> ```
> and tell Code OSS to try again.
> (replacing 18.15.0 with the appropriate version from https://github.com/gitpod-io/openvscode-server/blob/main/build/checksums/nodejs.txt for your version of openvscode-server) and tell Code OSS to try again.
"Open folder" should take you to the remote directory structure, allowing you to open projects hosted in container.
"Open folder" should take you to the remote directory structure, allowing you to open projects hosted in container.
All code-related extensions will also work in remote context, isolated from the parent system and unable to affect it,
All code-related extensions will also work in remote context, isolated from the parent system and unable to affect it,