System requirements for remote development
Prerequisites for the remote host
You have installed a compatible SSH server on the Linux platform.
The Linux platform has any recent Linux AMD64 distribution such as Ubuntu 16.04+, RHEL/Centos 7+, and so on. We recommend using machines with 2+ cores, 4GB+ of RAM, and 5GB+ of disk space.
You need to have the sftp subsystem enabled on the remote host.
Remote Development is still in development. The system requirements might change over time, we will work to support more types of systems in the future. Systems that don’t meet the requirements may work with Remote Development, yet we will not be able to support issues that might arise along the way.
Depending on the size of your project, ensure that the system to which you are connecting meets the following requirements:
Minimal requirements
4 vCPUs, either
x86_64
orarm64
architecture. Also, higher clock frequency is preferred to higher core count.8 GB RAM.
At least 500MB of free disk space even if the IDE is already installed.
A supported version of a common Linux distribution.
Specifically, Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, Ubuntu 22.10, CentOS, Debian, and RHEL are supported.
Ensure the user, with which you are connecting, has one of these shells set:
bash
,dash
,fish
,csh
,tcsh
,ksh
,zsh
.The following utilities must be available:
tar
,wget
(orcurl
),dd
,chmod
,test
,mkdir
,echo
,mv
,uname
,command
, andgzip
.The
$HOME
environment variable needs to be set correctly. The$HOME/.cache
folder needs to be writable by the user with which you’re connecting.We support the Alpine version 3.18. Ensure you have the following packages installed on the host beforehand:
libxext
,libxrender
,libxtst
,libxi
,freetype
,procps
,gcompat
.Check the following command example:
apk add libxext libxrender libxtst libxi freetype procps gcompat
The IDE and the project should be on a local file system. Network block storage such as EBS is acceptable, a network file system such as NFS or SMB is not.
Additionally, you need to have at least 8GB available.
OpenSSH server, version 7.9p1 or later is recommended. Other SSH servers fully implementing RFC 4254 may work too, yet are not supported. SSH port forwarding must be enabled in server configuration.
The server needs to have at least 50 Mbps downstream capacity from the internet.
The connection between client and server should have at least 20 Mbps bandwidth, and no more than 200ms latency.
Single tenancy within a server or container.
Recommendations
For larger projects, add more CPUs and RAM. The load average indication in the IDE will tell you if an upgrade would be advisable.
Enabling Swap is recommended. Even on cloud instances.
Local SSD storage.
Not supported
Single-board computers such as Raspberry Pi. To run your code on a Raspberry Pi, check out remote interpreters or remote debugging, and similar features.
Shared web hosting services. In such hosting environment, there might be numerous websites that coexist on a single server owned and operated by the hosting provider. All the websites hosted on this server are required to share its resources, such as bandwidth, memory, and computing power. These resources are distributed evenly among all the accounts on the server, which become quite limited.
The remote development support is not possible in such case due to the following reasons:
In addition to the SSH port, there must be a free port on the server for the IDE backend to reside. Shared web hosting typically does not permit the occupation of additional ports.
There might be restrictions on running third-party software.
Shared web hosting imposes limitations on user CPU usage.