openvscode-server

Run upstream VS Code on a remote machine from any device, anywhere.

The DINAcon Awards presentation was developed entirely using Gitpod, which enables developers (or any users) to spin up fresh, automated dev environments quickly. At the HACKnight, we dig into a range of related questions, from the Kanban project boards used by agile open source teams (see "The Toyota Way"), to estimating project costs using forecasting models (see Open Hub).


{ hacknight challenges }

Create an account and fire up a Gitpod by clicking on a sample project, like the one we used for the DINAcon Awards. Try a more sophisticated set up, with a build process like the one around docToolchain.

Define a gitpod.yml file for one of your own projects, or an open source project you would like to use with Gitpod.

Read the OpenVSCode announcement and deploy a local or self-hosted instance. Learn about the contribution process of the Gitpod project.

This content is a preview from an external site.

OpenVSCode Server

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.

Screenshot 2021-09-02 at 08 39 26

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: bash docker run -it --init -p 3000:3000 -v "$(pwd):/home/workspace:cached" gitpod/openvscode-server
  • Visit localhost:3000.

Note: Feel free to use the nightly tag to test the latest version, i.e. gitpod/openvscode-server:nightly.

Custom Environment

  • If you want to add dependencies to this Docker image, here is a template to help: ```Dockerfile

    FROM gitpod/openvscode-server:latest

    USER root # to get permissions to install packages and such RUN # the installation process for software needed USER openvscode-server # 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

  • Download the latest release
  • Untar and run the server: bash tar -xzf openvscode-server-v${OPENVSCODE_SERVER_VERSION}.tar.gz cd openvscode-server-v${OPENVSCODE_SERVER_VERSION} ./server.sh
  • Visit localhost:3000.

Note: You can use pre-releases to test nightly changes.

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.

Event finished

30.10.2021 18:00

The bug we came across was actually due to a GitLab account not allowing access to GitHub repositories. This is discussed as a UX problem in issue #4969

29.10.2021 21:33 ~ loleg

Readme updated

29.10.2021 21:28 ~ loleg

loleg has joined!

29.10.2021 21:28

Challenge started.

29.10.2021 21:28 ~ loleg

Don't test the Feedback component (@filiptronicek)

code web server initial commit

Make sync script executable (@jeanp413)

Change PATH in server.sh (@filiptronicek)

Dont override my accuracy anymore (@JacksonKearl)

Event started

29.10.2021 18:00

Prefer non-builtin output renderers in notebooks (#136079)

Fixes #134172

This change updates findBestRenderers to sort non built-in renderers higher than built-in ones (@mjbvz)

Loading ...

👥

loleg
All attendees, sponsors, partners, volunteers and staff at our hackathon are required to agree with the Hack Code of Conduct. Organisers will enforce this code throughout the event. We expect cooperation from all participants to ensure a safe environment for everybody.

Creative Commons LicenceThe contents of this website, unless otherwise stated, are licensed under a Creative Commons Attribution 4.0 International License.

HACKnight 2021