Go to file
2019-07-18 18:08:32 -05:00
.github Update codeowners 2019-03-19 14:00:25 -04:00
deployment Rename codercom/code-server to cdr/code-server 2019-05-02 11:25:50 -04:00
doc Merge branch 'log-failed-logins' of github.com:cdr/code-server into log-failed-logins 2019-07-11 12:31:52 +10:00
scripts Implement extensions channel 2019-07-18 18:08:32 -05:00
.dockerignore Update node to 10.15.1 (#472) 2019-04-15 19:48:12 -05:00
.gitignore Add build scripts 2019-07-18 18:08:27 -05:00
.node-version Update node to 10.15.1 (#472) 2019-04-15 19:48:12 -05:00
.travis.yml Add build scripts 2019-07-18 18:08:27 -05:00
channel.ts Implement extensions channel 2019-07-18 18:08:32 -05:00
cli.ts Don't wait to start main server 2019-07-18 18:08:29 -05:00
connection.ts Use new URI transformer everywhere 2019-07-18 18:08:18 -05:00
Dockerfile Remove chmod on project dir 2019-04-17 18:36:33 -04:00
insights.ts Delete all the things 2019-07-18 18:08:11 -05:00
LICENSE MIT license 2019-02-05 14:56:02 -06:00
main.js Use nbin in forked processes 2019-07-18 18:08:30 -05:00
package.json Add build scripts 2019-07-18 18:08:27 -05:00
protocol.ts Prevent sending disconnect if disposed 2019-07-18 18:08:21 -05:00
README.md Implement extensions channel 2019-07-18 18:08:32 -05:00
server.ts Implement extensions channel 2019-07-18 18:08:32 -05:00
tar.ts Add cli arguments 2019-07-18 18:08:25 -05:00
tslint.json Initial connection handling 2019-07-18 18:08:13 -05:00
upload.ts Delete all the things 2019-07-18 18:08:11 -05:00
uriTransformer.js Use new URI transformer everywhere 2019-07-18 18:08:18 -05:00
yarn.lock Add build scripts 2019-07-18 18:08:27 -05:00

code-server

"Open Issues" "Latest Release" MIT license Discord

code-server is VS Code running on a remote server, accessible through the browser.

Try it out:

docker run -it -p 127.0.0.1:8443:8443 -v "${PWD}:/home/coder/project" codercom/code-server --allow-http --no-auth
  • Code on your Chromebook, tablet, and laptop with a consistent dev environment.
    • If you have a Windows or Mac workstation, more easily develop for Linux.
  • Take advantage of large cloud servers to speed up tests, compilations, downloads, and more.
  • Preserve battery life when you're on the go.
    • All intensive computation runs on your server.
    • You're no longer running excess instances of Chrome.

Screenshot

Getting Started

Run over SSH

Use sshcode for a simple setup.

Docker

See docker oneliner mentioned above. Dockerfile is at /Dockerfile.

Binaries

  1. Download a binary (Linux and OS X supported. Windows coming soon)

  2. Start the binary with the project directory as the first argument

    code-server <initial directory to open>
    

    You will be prompted to enter the password shown in the CLI code-server should now be running at https://localhost:8443.

    code-server uses a self-signed SSL certificate that may prompt your browser to ask you some additional questions before you proceed. Please read here for more information.

For detailed instructions and troubleshooting, see the self-hosted quick start guide.

Quickstart guides for Google Cloud, AWS, and DigitalOcean.

How to secure your setup.

Build

  • If you also plan on developing, set the OUT environment variable: export OUT=/path/to/some/directory. Otherwise it will build in this directory which will cause issues because then yarn watch will try to compile the build directory as well.
  • For now @coder/nbin is a global dependency.
  • Run yarn build ${vscodeVersion} ${target} ${arch}in this directory (for example: yarn build 1.35.0 linux x64).

Development

  • Clone VS Code.
  • Run yarn in the VS Code root directory.
  • Run yarn compile in the VS Code root directory.
  • Clone this repository to src/vs/server in the VS Code source.
  • Run yarn in this directory.
  • Run yarn watch in this directory.
  • Wait for the initial compilation to complete.
  • Run yarn start in this directory.
  • Visit http://localhost:8443.

Known Issues

  • Creating custom VS Code extensions and debugging them doesn't work.
  • To debug Golang using ms-vscode-go extension, you need to add --security-opt seccomp=unconfined to your docker run arguments when launching code-server with Docker. See #725 for details.

Future

  • Stay up to date! Get notified about new releases of code-server. Screenshot
  • Windows support.
  • Electron and Chrome OS applications to bridge the gap between local<->remote.
  • Run VS Code unit tests against our builds to ensure features work as expected.

Extensions

At the moment we can't use the official VSCode Marketplace. We've created a custom extension marketplace focused around open-sourced extensions. However, if you have access to the .vsix file, you can manually install the extension.

Telemetry

Use the --disable-telemetry flag or set DISABLE_TELEMETRY=true to disable tracking ENTIRELY.

We use data collected to improve code-server.

Contributing

Development guides are coming soon.

License

MIT

Enterprise

Visit our enterprise page for more information about our enterprise offering.

Commercialization

If you would like to commercialize code-server, please contact contact@coder.com.