Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Complete offline installation of VSCode Remote #1399

Open
hanxue opened this issue Sep 11, 2019 · 8 comments
Open

Complete offline installation of VSCode Remote #1399

hanxue opened this issue Sep 11, 2019 · 8 comments
Labels
containers Issue in vscode-remote containers feature-request Request for new features or functionality

Comments

@hanxue
Copy link

hanxue commented Sep 11, 2019

In continuation of #15 , I think VSCode Remote is stable enough now and we ought to re-visit this issue.

Use Case

Install VSCode Remote on machines without Internet connectivity

Possible solutions:

  1. Bundle vscode-server for major platforms together with the extension
  2. Have an option within the Remote extension to download vscode-server for the remote machine's platform, and scp vscode-server to the remote machine prior to installation
@egamma egamma added the feature-request Request for new features or functionality label Sep 12, 2019
@rfresow
Copy link

rfresow commented Sep 30, 2019

This would be really great. Because of security most of our machines are not internet connected.

@avivdolev
Copy link

Hey,
This would be great - Our entire network is on-premise without any internet access for security reasons.
We download all files in advance and copy them to the network after scanning them - that's how we update VSCode itself and any extension (.vsix files).
I'd like to add that even a very simple solution would suffice as a start:

  1. When trying to connect to a server, after failing to download the server side - just prompt the full download url.
  2. Allow an option similar to "Install from .vsix", and let us just point at the tarball location on the host (to be copied to the server with scp). This option will help for those who can setup a VM with same configuration as the offline server, and just copy the downloaded file to the offline host (without copying long download urls).

I know it's far from perfect, but it'll give a very good temporary solution :)

Thanks a lot for a great extension!

@yelled1
Copy link

yelled1 commented Apr 30, 2020

I also would love to see this done. As, I have limited internet access on AWS local redhat machine.

@chrmarti chrmarti added the containers Issue in vscode-remote containers label Jun 25, 2020
@ross-p-smith
Copy link

Another customer here with the same issue. VSCode is packaged by internal IT and approval requested, after approval software appears in Software and developers can install. The Remote extension is approved separately and placed in an internal software repository (product name not important). All docker/npm/nuget are retrieved from here and not the internet. Once the remote extension is installed it will need to connect to a host. Now the host or the client will not have internet access to download vscode-server (as detailed in this excellent answer: - https://stackoverflow.com/questions/56718453/using-remote-ssh-in-vscode-on-a-target-machine-that-only-allows-inbound-ssh-co/56781109#56781109). At the moment, we are failing a "Remote attach", capturing the Commit ID, making a request for someone to download the vscode-server to the repository. It would be great if we knew the CommitID of the vscode-server when IT packaged vscode as they could package the server element at the same time. Currently everything breaks when someone upgrades vscode, which means people dont upgrade! @chrmarti

@chrmarti
Copy link
Contributor

The commit id is the same as for VS Code. That can be lookup in VS Code under Help > About.

Discussed this further @ross-p-smith and the offline scenario would be greatly simplified if:

  • There were download links for the server(s) on code.visualstudio.com too.
  • There was an easy way for placing the server tars locally so they get picked up by the Remote-Containers extension.

A server tar can be manually placed in the local filesystem at <tmpdir>/vsch/<commitid>/<filename>.tar.gz. Where <tmpdir> is the temp folder given in one of the TMPDIR, TMP or TEMP env variables.

A simpler approach would be allow-listing the hostnames needed for downloading the server tars. See https://code.visualstudio.com/docs/setup/network and microsoft/vscode-docs#3818. update.code.visualstudio.com and az764295.vo.msecnd.net might be sufficient for the server download.

@moylop260
Copy link

The first time we are connecting to docker container using vscode the first message is Installing server:

  • image

It spends 2 large minutes in my case.

It could be great if we have an option to pre-built this step Installing server early
e.g. from Dockerfile to build the image with vscode-server installed

So, the first time that we will connect the time will be just a few seconds instead.

@fsackur
Copy link

fsackur commented Nov 10, 2020

@ross-p-smith you can get the commit ID from Help > About or from code -v

@Christiaan676
Copy link

Christiaan676 commented Sep 8, 2023

There is a setting: "Remote.SSH: Local Server Download" that you can configure to download the server to your PC and upload it to the remote server. It now downloads the server in /tmp/vsch-<username>/serverCache/<vscode hash>/ if you could configure the location, it would be trivial to manually download the server and place it in the correct location.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
containers Issue in vscode-remote containers feature-request Request for new features or functionality
Projects
None yet
Development

No branches or pull requests

10 participants