2019-03-04 10:31:27 -08:00
|
|
|
# code-server
|
2019-01-07 18:46:19 -06:00
|
|
|
|
2019-04-27 16:57:10 -04:00
|
|
|
[](https://github.com/cdr/code-server/issues)
|
|
|
|
[](https://github.com/cdr/code-server/releases/latest)
|
2019-05-02 11:24:12 -04:00
|
|
|
[](https://github.com/cdr/code-server/blob/master/LICENSE)
|
2019-03-27 18:05:23 -04:00
|
|
|
[](https://discord.gg/zxSwN8Z)
|
2019-01-07 18:46:19 -06:00
|
|
|
|
2019-07-12 18:41:56 -05:00
|
|
|
`code-server` is [VS Code](https://github.com/Microsoft/vscode) running on a
|
|
|
|
remote server, accessible through the browser.
|
2019-03-05 17:45:21 -08:00
|
|
|
|
2019-03-06 21:59:43 -05:00
|
|
|
Try it out:
|
|
|
|
```bash
|
2019-07-15 13:23:29 -05:00
|
|
|
docker run -it -p 127.0.0.1:8443:8443 -p 127.0.0.1:8444:8444 -v "$PWD:/home/coder/project" codercom/code-server --allow-http --no-auth
|
2019-03-06 21:59:43 -05:00
|
|
|
```
|
|
|
|
|
2019-03-05 17:45:21 -08:00
|
|
|
- Code on your Chromebook, tablet, and laptop with a consistent dev environment.
|
2019-07-12 18:41:56 -05:00
|
|
|
- If you have a Windows or Mac workstation, more easily develop for Linux.
|
2019-03-05 17:45:21 -08:00
|
|
|
- Take advantage of large cloud servers to speed up tests, compilations, downloads, and more.
|
|
|
|
- Preserve battery life when you're on the go.
|
2019-07-12 18:41:56 -05:00
|
|
|
- All intensive computation runs on your server.
|
|
|
|
- You're no longer running excess instances of Chrome.
|
2019-03-04 10:31:27 -08:00
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## Getting Started
|
|
|
|
|
2019-04-19 21:20:31 -04:00
|
|
|
### Run over SSH
|
|
|
|
|
2019-04-19 21:22:00 -04:00
|
|
|
Use [sshcode](https://github.com/codercom/sshcode) for a simple setup.
|
2019-04-19 21:20:31 -04:00
|
|
|
|
2019-03-06 21:59:43 -05:00
|
|
|
### Docker
|
|
|
|
|
2019-07-12 18:41:56 -05:00
|
|
|
See docker oneliner mentioned above. Dockerfile is at
|
|
|
|
[/Dockerfile](/Dockerfile).
|
2019-03-06 21:59:43 -05:00
|
|
|
|
|
|
|
### Binaries
|
2019-03-05 12:46:43 -06:00
|
|
|
|
2019-07-12 18:41:56 -05:00
|
|
|
1. [Download a binary](https://github.com/cdr/code-server/releases) (Linux and
|
|
|
|
OS X supported. Windows coming soon)
|
2019-03-04 10:31:27 -08:00
|
|
|
2. Start the binary with the project directory as the first argument
|
|
|
|
|
2019-07-12 18:41:56 -05:00
|
|
|
```
|
|
|
|
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.
|
2019-03-04 14:27:46 -06:00
|
|
|
|
2019-07-12 18:41:56 -05: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.
|
2019-03-04 10:31:27 -08:00
|
|
|
|
2019-07-12 18:41:56 -05:00
|
|
|
For detailed instructions and troubleshooting, see the
|
|
|
|
[self-hosted quick start guide](doc/self-hosted/index.md).
|
2019-03-04 10:31:27 -08:00
|
|
|
|
2019-07-12 18:41:56 -05: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-07 18:46:19 -06:00
|
|
|
|
2019-03-04 10:31:27 -08:00
|
|
|
How to [secure your setup](/doc/security/ssl.md).
|
|
|
|
|
2019-07-12 18:41:56 -05:00
|
|
|
### Build
|
2019-07-15 13:23:29 -05: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 `yarn watch` will try to
|
2019-07-02 19:10:17 -05:00
|
|
|
compile the build directory as well.
|
2019-07-08 10:33:58 -05:00
|
|
|
- For now `@coder/nbin` is a global dependency.
|
2019-07-10 18:10:39 -05: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-02 11:33:27 -05:00
|
|
|
|
2019-07-12 18:41:56 -05:00
|
|
|
### Development
|
2019-03-04 10:31:27 -08:00
|
|
|
|
2019-07-10 16:29:15 -05: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-12 15:21:00 -05:00
|
|
|
yarn start --allow-http --no-auth
|
2019-07-10 16:29:15 -05:00
|
|
|
# Visit http://localhost:8443
|
|
|
|
```
|
2019-06-27 17:34:33 -05:00
|
|
|
|
2019-07-12 18:41:56 -05:00
|
|
|
## Known Issues
|
2019-03-04 10:31:27 -08:00
|
|
|
|
2019-03-07 21:23:16 +00:00
|
|
|
- Creating custom VS Code extensions and debugging them doesn't work.
|
2019-07-12 18:41:56 -05: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-04 10:31:27 -08:00
|
|
|
|
2019-07-12 18:41:56 -05:00
|
|
|
## Future
|
2019-03-27 17:05:44 -05:00
|
|
|
- **Stay up to date!** Get notified about new releases of code-server.
|
|
|
|

|
2019-03-04 10:31:27 -08:00
|
|
|
- Windows support.
|
2019-03-14 17:32:18 -05:00
|
|
|
- Electron and Chrome OS applications to bridge the gap between local<->remote.
|
2019-03-04 10:31:27 -08:00
|
|
|
- Run VS Code unit tests against our builds to ensure features work as expected.
|
|
|
|
|
2019-07-12 18:41:56 -05:00
|
|
|
## Extensions
|
2019-03-22 19:58:13 +00:00
|
|
|
|
2019-07-12 18:41:56 -05: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-22 19:58:13 +00:00
|
|
|
|
2019-04-17 17:18:35 -05:00
|
|
|
## Telemetry
|
|
|
|
|
2019-07-12 18:41:56 -05:00
|
|
|
Set the `telemetry.enableTelemetry` user setting to false to disable telemetry.
|
2019-04-17 17:18:35 -05:00
|
|
|
|
|
|
|
We use data collected to improve code-server.
|
|
|
|
|
2019-03-04 10:31:27 -08:00
|
|
|
## Contributing
|
2019-01-07 18:46:19 -06:00
|
|
|
|
2019-03-06 10:11:27 -08:00
|
|
|
Development guides are coming soon.
|
2019-01-07 18:46:19 -06:00
|
|
|
|
2019-03-04 10:31:27 -08:00
|
|
|
## License
|
2019-01-07 18:46:19 -06:00
|
|
|
|
2019-03-04 10:31:27 -08:00
|
|
|
[MIT](LICENSE)
|
2019-01-07 18:46:19 -06:00
|
|
|
|
2019-03-04 10:31:27 -08:00
|
|
|
## Enterprise
|
2019-01-07 18:46:19 -06:00
|
|
|
|
2019-07-12 18:41:56 -05:00
|
|
|
Visit [our enterprise page](https://coder.com/enterprise) for more information
|
|
|
|
about our enterprise offering.
|
2019-03-04 14:27:46 -06:00
|
|
|
|
|
|
|
## Commercialization
|
|
|
|
|
2019-07-12 18:41:56 -05:00
|
|
|
If you would like to commercialize code-server, please contact
|
|
|
|
contact@coder.com.
|