Skip to content

Desktop Applications (RDP, VNC, DCV, PSQL) #14677

Open
2 of 2 issues completed
Open
Feature
2 of 2 issues completed
@bpmct

Description

@bpmct

Improve how users to connect to their workspace via generic desktop applications via URL schemes such as rdp, nice, vnc and postgres.

Note

This is a concept and the design/schema is not final.

Related #13212. Blocked on Coder Desktop (#14859).

Background

Today, we build native IDE plugins (e.g. coder/vscode-coder) and also offer users the ability to connect via a web app via the coder_app.

However, connecting to a workspace via another desktop client such as Microsoft Remote Desktop is possible, but non-trivial. See our docs. The primary issue here is that the CLI and port-forwarding is required but there is also not a great way to promote the use of such apps in the web UI.

Proposal

Support unique type(s) of coder_app to support VNC, RDP, DCV, PostgreSQL, and other custom URI schemes. I am not sure if type = desktop will suffice, or type=<rdp,vnc,dcv,postgresql,slack,desktop_custom> is needed to support some intricacies of each URI scheme/port forwarding thing.

Render desktop apps in the UI

Screenshot 2024-09-15 at 6 31 37 PM

And render desktop CTAs in Coder Desktop:

Screenshot 2024-09-15 at 6 40 21 PM

When clicked:

flowchart TD
  A[Is Coder Desktop installed?] --> |No| B[Prompt user to download]
  A --> |Yes| C[Is user logged in?]
  C --> |No| D[Prompt user to log in]
  C --> |Yes| E[Is VPN on?]
  E --> |No| F[Port forward]
  E --> |Yes| G[Use VPN hostname]
  F --> H["Open to native URL scheme (e.g. rdp://) to open local client"]
  G --> H
Loading

Product Requirements

  • List desktop apps in the web UI
  • List desktop apps (and web apps/helper apps) in Coder Desktop with one button to get to them
  • Play nicely with known protocols such as rdp, vnc, and dcv. If necessary, add support for these types if extra handling is needed besides a simple URI scheme
  • Support custom URI schemes and configurable ports being forwarded from workspace->local via coder_app schema
  • Support opening via the CLI with coder open command.

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    roadmaphttps://coder.com/roadmap. Only humans may set this.roadmap-maybeIdeas we're considering! Only humans may set this.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions