2019-03-05 02:31:27 +08:00
# code-server
2019-01-08 08:46:19 +08:00
2019-04-28 04:57:10 +08:00
[!["Open Issues" ](https://img.shields.io/github/issues-raw/cdr/code-server.svg )](https://github.com/cdr/code-server/issues)
[!["Latest Release" ](https://img.shields.io/github/release/cdr/code-server.svg )](https://github.com/cdr/code-server/releases/latest)
2019-05-02 23:24:12 +08:00
[![MIT license ](https://img.shields.io/badge/license-MIT-green.svg )](https://github.com/cdr/code-server/blob/master/LICENSE)
2019-03-28 06:05:23 +08:00
[![Discord ](https://img.shields.io/discord/463752820026376202.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2 )](https://discord.gg/zxSwN8Z)
2019-01-08 08:46:19 +08:00
2019-03-06 09:45:21 +08:00
`code-server` is [VS Code ](https://github.com/Microsoft/vscode ) running on a remote server, accessible through the browser.
2019-03-07 10:59:43 +08:00
Try it out:
```bash
2019-05-03 01:32:05 +08:00
docker run -it -p 127.0.0.1:8443:8443 -v "${PWD}:/home/coder/project" codercom/code-server --allow-http --no-auth
2019-03-07 10:59:43 +08:00
```
2019-03-06 09:45:21 +08:00
- 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.
2019-03-09 00:34:31 +08:00
- All intensive computation runs on your server.
2019-03-06 09:45:21 +08:00
- You're no longer running excess instances of Chrome.
2019-03-05 02:31:27 +08:00
![Screenshot ](/doc/assets/ide.png )
## Getting Started
2019-04-20 09:20:31 +08:00
### Run over SSH
2019-04-20 09:22:00 +08:00
Use [sshcode ](https://github.com/codercom/sshcode ) for a simple setup.
2019-04-20 09:20:31 +08:00
2019-03-07 10:59:43 +08:00
### Docker
See docker oneliner mentioned above. Dockerfile is at [/Dockerfile ](/Dockerfile ).
### Binaries
2019-03-06 02:46:43 +08:00
2019-05-02 23:24:12 +08:00
1. [Download a binary ](https://github.com/cdr/code-server/releases ) (Linux and OS X supported. Windows coming soon)
2019-03-05 02:31:27 +08:00
2. Start the binary with the project directory as the first argument
```
2019-03-09 00:10:50 +08:00
code-server < initial directory to open >
2019-03-05 02:31:27 +08:00
```
> You will be prompted to enter the password shown in the CLI
2019-03-05 06:11:48 +08:00
`code-server` should now be running at https://localhost:8443.
2019-03-05 04:27:46 +08:00
2019-03-05 02:31:27 +08:00
> 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](doc/self-hosted/index.md) for more information.
For detailed instructions and troubleshooting, see the [self-hosted quick start guide ](doc/self-hosted/index.md ).
2019-04-25 22:57:12 +08:00
Quickstart guides for [Google Cloud ](doc/admin/install/google_cloud.md ), [AWS ](doc/admin/install/aws.md ), and [DigitalOcean ](doc/admin/install/digitalocean.md ).
2019-01-08 08:46:19 +08:00
2019-03-05 02:31:27 +08:00
How to [secure your setup ](/doc/security/ssl.md ).
2019-07-03 00:33:27 +08:00
## Build
2019-07-03 08:10:17 +08:00
- 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.
2019-07-08 23:33:58 +08:00
- For now `@coder/nbin` is a global dependency.
2019-07-11 07:10:39 +08:00
- Run `yarn build ${codeServerVersion} ${vscodeVersion} ${target} ${arch}` in
this directory (for example: `yarn build development 1.35.0 linux x64` ).
- You can run the built code with `node path/to/build/out/vs/server/main.js` or run
`yarn binary` with the same arguments in the previous step to package the
code into a single binary.
2019-07-03 00:33:27 +08:00
2019-03-05 02:31:27 +08:00
## Development
2019-07-11 05:29:15 +08:00
```fish
git clone https://github.com/microsoft/vscode
cd vscode
git clone https://github.com/cdr/code-server src/vs/server
cd src/vs/server
yarn patch:apply
yarn
yarn watch
# Wait for the initial compilation to complete (it will say "Finished compilation").
2019-07-13 04:21:00 +08:00
yarn start --allow-http --no-auth
2019-07-11 05:29:15 +08:00
# Visit http://localhost:8443
```
2019-06-28 06:34:33 +08:00
2019-03-05 02:31:27 +08:00
### Known Issues
2019-03-08 05:23:16 +08:00
- Creating custom VS Code extensions and debugging them doesn't work.
2019-07-01 21:29:13 +08:00
- To debug Golang using [ms-vscode-go extension ](https://marketplace.visualstudio.com/items?itemName=ms-vscode.Go ), you need to add `--security-opt seccomp=unconfined` to your `docker run` arguments when launching code-server with Docker. See [#725 ](https://github.com/cdr/code-server/issues/725 ) for details.
2019-03-05 02:31:27 +08:00
### Future
2019-03-28 06:05:44 +08:00
- **Stay up to date!** Get notified about new releases of code-server.
![Screenshot ](/doc/assets/release.gif )
2019-03-05 02:31:27 +08:00
- Windows support.
2019-03-15 06:32:18 +08:00
- Electron and Chrome OS applications to bridge the gap between local< - > remote.
2019-03-05 02:31:27 +08:00
- Run VS Code unit tests against our builds to ensure features work as expected.
2019-04-03 23:23:32 +08:00
### Extensions
2019-03-23 03:58:13 +08:00
2019-04-02 23:41:44 +08:00
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.
2019-03-23 03:58:13 +08:00
2019-04-18 06:18:35 +08:00
## Telemetry
Use the `--disable-telemetry` flag or set `DISABLE_TELEMETRY=true` to disable tracking ENTIRELY.
We use data collected to improve code-server.
2019-03-05 02:31:27 +08:00
## Contributing
2019-01-08 08:46:19 +08:00
2019-03-07 02:11:27 +08:00
Development guides are coming soon.
2019-01-08 08:46:19 +08:00
2019-03-05 02:31:27 +08:00
## License
2019-01-08 08:46:19 +08:00
2019-03-05 02:31:27 +08:00
[MIT ](LICENSE )
2019-01-08 08:46:19 +08:00
2019-03-05 02:31:27 +08:00
## Enterprise
2019-01-08 08:46:19 +08:00
2019-03-07 02:11:27 +08:00
Visit [our enterprise page ](https://coder.com/enterprise ) for more information about our enterprise offering.
2019-03-05 04:27:46 +08:00
## Commercialization
If you would like to commercialize code-server, please contact contact@coder.com.