Skip to content
This repository has been archived by the owner on Oct 17, 2021. It is now read-only.

Latest commit

 

History

History
88 lines (54 loc) · 4.56 KB

README.md

File metadata and controls

88 lines (54 loc) · 4.56 KB

VSCode Server

by @gitpod-io

Gitpod ready-to-code GitHub Discord

What is this?

This project provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

Why?

VS Code has traditionally been a desktop IDE built with web technologies. A few years back, people started patching it in order to run it in a remote context and to make it accessible through web browsers. These efforts have been complex and error prone, because many changes had to be made across the large code base of VS Code.

Luckily, in 2019 the VS Code team started to refactor its architecture to support a browser-based working mode. While this architecture has been adopted by Gitpod and GitHub, the important bits have not been open-sourced, until now. As a result, many people in the community still use the old, hard to maintain and error-prone approach.

At Gitpod, we've been asked a lot about how we do it. So we thought we might as well share the minimal set of changes needed so people can rely on the latest version of VS Code, have a straightforward upgrade path and low maintenance effort.

Getting started

Docker

  • Start the server:
docker run -it --init -p 3000:3000 -v "$(pwd):/home/workspace:cached" abdcodedoc/vscode-server

Custom Environment

  • If you want to add dependencies to this Docker image, here is a template to help:
     FROM abdcodedoc/vscode-server:latest
    
     USER root # to get permissions to install packages and such
     RUN # the installation process for software needed
     USER workspace # to restore permissions for the web interface
    
  • For additional possibilities, please consult the Dockerfile for OpenVSCode Server at https://github.com/gitpod-io/openvscode-releases/

Linux

tar -xzf vscode-server-v${VSCODE_SERVER_VERSION}.tar.gz
cd vscode-server-v${VSCODE_SERVER_VERSION}
./server.sh

Deployment guides

Please refer to Guides to learn how to deploy OpenVSCode Server to your cloud provider of choice.

The scope of this project

This project only adds minimal bits required to run VS Code in a server scenario. We have no intention of changing VS Code in any way or to add additional features to VS Code itself. Please report feature requests, bug fixes, etc. in the upstream repository.

For any feature requests, bug reports, or contributions that are not specific to running VS Code in a server context, please go to Visual Studio Code - Open Source "OSS"

Documentation

All documentation is available in the docs branch of this project.

Supporters

The project is supported by companies such as GitLab, VMware, Uber, SAP, Sourcegraph, RStudio, SUSE, Tabnine, Render and TypeFox.

Contributing

Thanks for your interest in contributing to the project 🙏. You can start a development environment with the following button:

Open in Gitpod

To learn about the code structure and other topics related to contributing, please refer to the development docs.

Community & Feedback

To learn what others are up to and to provide feedback, please head over to the Discussions.

You can also follow us on Twitter @gitpod or come chat with us.

Legal

This project is not affiliated with Microsoft Corporation.