Install JetBrains Fleet on a remote machine
You can install JetBrains Fleet on a remote machine for remote development. This addresses the case when you have a powerful box at home or in the office, and you want to use your local workstation as a thin client. This approach allows you to leverage higher compute capacity and avoid running heavy tasks locally.
System requirements
For remote development, JetBrains Fleet supports the following operating systems.
macOS: starting from macOS 12.
Windows: starting from Windows 10 Version 21H2.
Consider the following specifics when working with JetBrains Fleet in WSL and over SSH.
WSL: for an optimal experience with Windows Subsystem for Linux (WSL), we recommend Windows 11 22H2 or later, along with WSL2 version 2.1 or later. Ensure WSL has internet access and that
x11-apps
are installed (FL-19002).SSH: JetBrains Fleet supports remote development over SSH for Linux and macOS systems. A 64-bit CPU (x86-64 or aarch64) is required. Note that Windows remotes are not supported (for more information, follow FL -21596). The remote machine must have internet access, and it is recommended to use bash or similar shells as the default login shell. There is limited support for FIDO-based 2FA and old RSA keys.
Installing JetBrains Fleet
Download Fleet
launcher
binarycurl -LSs "https://download.jetbrains.com/product?code=FLL&release.type=preview&release.type=eap&platform=linux_x64" --output fleet && chmod +x fleetcurl -LSs "https://download.jetbrains.com/product?code=FLL&release.type=preview&release.type=eap&platform=linux_aarch64" --output fleet && chmod +x fleetcurl -LSs "https://download.jetbrains.com/product?code=FLL&release.type=preview&release.type=eap&platform=macos_x64" --output fleet && chmod +x fleetcurl -LSs "https://download.jetbrains.com/product?code=FLL&release.type=preview&release.type=eap&platform=macos_aarch64" --output fleet && chmod +x fleetcurl -LSs "https://download.jetbrains.com/product?code=FLL&release.type=preview&release.type=eap&platform=windows_x64" --output fleet.exe
After you have downloaded the binary, you can run it with a terminal command:
Run
Launch Fleet workspace using
launcher
./fleet launch workspace -- --auth=accept-everyone --publish --enableSmartMode./fleet launch workspace -- --auth=accept-everyone --publish --enableSmartMode./fleet launch workspace -- --auth=accept-everyone --publish --enableSmartMode./fleet launch workspace -- --auth=accept-everyone --publish --enableSmartModefleet.exe launch workspace -- --auth=accept-everyone --publish --enableSmartModeGet the information to connect to this workspace in the first lines of the output. See the
URL
in this example output:*** Starting Workspace Server *** - listening to 127.0.0.1:3500 - with FSD - with Backend - with UID: ea3b4b2a-528a-438a-a129-6737934375e7 - with HOST: dded2fa4-2673-4d5d-bcea-f98d56852f92 - version: 1.7.38 - URL: https://fleet.jetbrains.com/?version=1.9.237&workspaceId=ea3b4b2a-528a-438a-a129-6737934375e7 - Auth: {"type":"AcceptsEveryone"} - publish: true - lobby: LobbyAddress(host=lobby.fleet.api.jetbrains.com, isSecure=true, port=443)
For steps to uninstall Fleet from a remote machine, refer to Uninstall.
Command options
The command separates the options for the launcher and for the workspace. Use the following syntax:
Command example
./fleet launch workspace --workspace-version 1.9.117 -- --auth=accept-everyone --publish --enableSmartMode --projectDir=/tmp/myproject
In the above example:
--workspace-version 1.9.117
is a launcher option--auth=accept-everyone --publish --enableSmartMode --projectDir=/tmp/myproject
gets passed to the launched workspace
Option | Description |
---|---|
| The version of Fleet workspace to launch. Defaults to the latest released version if not specified (using a network call). Version has to be specified in full format, for example: |
Option | Description |
---|---|
| Specifies if the Smart Mode should be enabled for the workspace at startup. By default, the workspace starts without the Smart Mode to minimize resource consumption. Set |
| Specifies a project directory to attach to the workspace at startup. This way, if |
| The host address on which the workspace will listen. |
| The port on which the workspace will listen. |
| Specifies whether the workspace should be published to the JetBrains relay and be publicly accessible. |
| The authorizers used by the workspace. Can be specified multiple times for supporting more than one authorizer. Authentication modes other than |
Troubleshooting
If you encounter an issue, please file a bug report and attach the logs of your command with the --debug
prefix. For example: ./fleet --debug launch workspace -- --auth=accept-everyone --publish --enableSmartMode
Disk space considerations for remote connections
When connecting to an instance with SSH, ensure that you have enough disk space. You might experience some difficulties if the instance ran out of storage. In some cases, the error handling might not clearly indicate this as the root cause, leading to confusion (for example, java.lang.IllegalStateException: Error while connecting via ssh, scp exited with code 1.
).
Possible causes
Large files in directories like .cache/Jetbrains, especially for users with developer tools installed. A user could have up to 5GB or more in this directory alone.
Different modes of applications can consume varying amounts of disk space. For example, there is a significant difference between the storage required for some applications when smart mode is on or off.