code-server/README.md

144 lines
4.7 KiB
Markdown
Raw Normal View History

2019-08-01 00:08:37 +02:00
# code-server · [![MIT license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/cdr/code-server/blob/master/LICENSE) [!["Latest Release"](https://img.shields.io/github/release/cdr/code-server.svg)](https://github.com/cdr/code-server/releases/latest) [![Build Status](https://img.shields.io/travis/com/cdr/code-server/master)](https://github.com/cdr/code-server)
2019-01-08 01:46:19 +01:00
`code-server` is [VS Code](https://github.com/Microsoft/vscode) running on a
remote server, accessible through the browser.
2019-03-06 02:45:21 +01:00
2019-03-07 03:59:43 +01:00
Try it out:
2019-09-27 16:39:29 +02:00
2019-03-07 03:59:43 +01:00
```bash
docker run -it -p 127.0.0.1:8080:8080 -v "$PWD:/home/coder/project" codercom/code-server
2019-03-07 03:59:43 +01:00
```
2019-08-01 00:08:37 +02:00
- **Consistent environment:** Code on your Chromebook, tablet, and laptop with a
2020-02-04 20:27:46 +01:00
consistent dev environment. Develop more easily for Linux if you have a
Windows or Mac and pick up where you left off when switching workstations.
2019-08-01 00:08:37 +02:00
- **Server-powered:** Take advantage of large cloud servers to speed up tests,
compilations, downloads, and more. Preserve battery life when you're on the go
since all intensive computation runs on your server.
2019-07-22 17:21:15 +02:00
![Screenshot](/doc/assets/ide.gif)
2020-02-04 20:27:46 +01:00
## VS Code
- See [our VS Code readme](./src/vscode) for more information about how
code-server and VS Code work together.
## Getting Started
### Requirements
2019-10-30 16:33:07 +01:00
- 64-bit host.
- At least 1GB of RAM.
- 2 cores or more are recommended (1 core works but not optimally).
2020-02-04 20:27:46 +01:00
- Secure connection over HTTPS or localhost (required for service workers and
clipboard support).
2019-10-30 16:33:07 +01:00
- For Linux: GLIBC 2.17 or later and GLIBCXX 3.4.15 or later.
- Docker (for Docker versions of `code-server`).
2019-04-20 03:20:31 +02:00
### Run over SSH
2019-09-27 16:39:29 +02:00
2019-04-20 03:22:00 +02:00
Use [sshcode](https://github.com/codercom/sshcode) for a simple setup.
2019-04-20 03:20:31 +02:00
2019-03-07 03:59:43 +01:00
### Docker
2019-09-27 16:39:29 +02:00
2019-08-01 00:08:37 +02:00
See the Docker one-liner mentioned above. Dockerfile is at [/Dockerfile](/Dockerfile).
2019-03-07 03:59:43 +01:00
2019-09-13 17:17:27 +02:00
### Digital Ocean
2019-09-27 16:39:29 +02:00
2019-09-13 17:17:27 +02:00
[![Create a Droplet](./doc/assets/droplet.svg)](https://marketplace.digitalocean.com/apps/code-server?action=deploy)
### Binaries
2019-09-27 16:39:29 +02:00
2019-08-01 00:08:37 +02:00
1. [Download a binary](https://github.com/cdr/code-server/releases). (Linux and
2019-09-27 16:39:29 +02:00
OS X supported. Windows coming soon)
2. Unpack the downloaded file then run the binary.
2019-08-08 18:21:45 +02:00
3. In your browser navigate to `localhost:8080`.
2019-01-08 01:46:19 +01:00
- For self-hosting and other information see [doc/quickstart.md](doc/quickstart.md).
- For hosting on cloud platforms see [doc/deploy.md](doc/deploy.md).
2019-10-23 18:54:47 +02:00
### Build
2020-02-04 20:27:46 +01:00
- [VS Code prerequisites](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#prerequisites)
2019-10-23 18:54:47 +02:00
```shell
2020-02-04 20:27:46 +01:00
yarn
yarn build
node build/out/entry.js # You can run the built JavaScript with Node.
yarn binary # Or you can package it into a binary.
2019-10-23 18:54:47 +02:00
```
2020-02-04 20:27:46 +01:00
If changes are made to the patch and you've built previously you must manually
reset VS Code then run `yarn patch:apply`.
## Security
### Authentication
2020-02-15 01:46:00 +01:00
By default `code-server` enables password authentication using a randomly
generated password. You can set the `PASSWORD` environment variable to use your
own instead or use `--auth none` to disable password authentication.
Do not expose `code-server` to the open internet without some form of
authentication.
### Encrypting traffic with HTTPS
2020-02-15 01:46:00 +01:00
If you aren't doing SSL termination elsewhere you can directly give
`code-server` a certificate with `code-server --cert` followed by the path to
your certificate. Additionally, you can use certificate keys with `--cert-key`
followed by the path to your key. If you pass `--cert` without any path
`code-server` will generate a self-signed certificate.
If `code-server` has been passed a certificate it will also respond to HTTPS
requests and will redirect all HTTP requests to HTTPS. Otherwise it will respond
only to HTTP requests.
You can use [Let's Encrypt](https://letsencrypt.org/) to get an SSL certificate
for free.
Do not expose `code-server` to the open internet without SSL, whether built-in
or through a proxy.
## Future
2019-09-27 16:39:29 +02:00
2020-02-04 20:27:46 +01:00
- **Stay up to date!** Get notified about new releases of `code-server`.
![Screenshot](/doc/assets/release.gif)
2019-03-14 23:32:18 +01:00
- Electron and Chrome OS applications to bridge the gap between local<->remote.
## Telemetry
2019-09-27 16:39:29 +02:00
Use the `--disable-telemetry` flag to completely disable telemetry. We use the
data collected to improve code-server.
## Contributing
2019-09-27 16:39:29 +02:00
2019-07-16 21:57:02 +02:00
### Development
2019-09-27 16:39:29 +02:00
2020-02-04 20:27:46 +01:00
- [VS Code prerequisites](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#prerequisites)
2019-10-23 00:49:38 +02:00
```shell
2019-07-16 21:57:02 +02:00
yarn
2020-02-04 20:27:46 +01:00
yarn watch # Visit http://localhost:8080 once completed.
2019-07-16 21:57:02 +02:00
```
If you run into issues about a different version of Node being used, try running
2019-11-05 20:49:18 +01:00
`npm rebuild` in the VS Code directory.
2020-02-04 20:27:46 +01:00
If changes are made to the patch and you've built previously you must manually
reset VS Code then run `yarn patch:apply`.
2019-07-16 21:57:02 +02:00
## License
2019-09-27 16:39:29 +02:00
[MIT](LICENSE)
2019-01-08 01:46:19 +01:00
## Enterprise
2019-09-27 16:39:29 +02:00
2019-11-14 18:16:08 +01:00
Visit [our enterprise page](https://coder.com) for more information about our
enterprise offering.
## Commercialization
2019-09-27 16:39:29 +02:00
If you would like to commercialize code-server, please contact
contact@coder.com.