Skip to content

Commit af85d8f

Browse files
committed
Merge remote-tracking branch 'upstream/master'
* upstream/master: (68 commits) Fix docker oneliner in README.md Fix macOS release Rename codercom/code-server to cdr/code-server Expose Terminal Service in API Make preserveEnv return a new object Preserve environment when forking shared process (coder#545) codercom -> cdr Package only on darwin Include version with target env Add docker service Add support for musl and centos Remove reveal in finder/explorer option from the context menu (coder#586) Fix open dialog crash when there is a broken link Only output password if it was generated Fix full screen detection for Chromium Fix toggling full screen Improve size column in dialogs Fix typo DigitalOcean (coder#595) Fix coder#587 (coder#588) Fix protocol fs test ...
2 parents 97c73e6 + 72152f7 commit af85d8f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+3666
-1261
lines changed

.dockerignore

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ doc/
77
.travis.yml
88
LICENSE
99
README.md
10+
node_modules

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ dist
44
out
55
.DS_Store
66
release
7-
.cache
7+
.vscode
8+
.cache

.node-version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8.15.0
1+
10.15.1

.travis.yml

+20-1
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,30 @@
11
language: node_js
22
node_js:
3+
<<<<<<< HEAD
34
- 8.15.0
45
env:
56
global:
67
secure: gf/3J6XEFhEbaWesAaGtjvcMCmt07ztiIzHPzJuZXp5GIxImmZJk+F1ZNWSYcw2X7jcpyj20NvWUigX7FvzRE5L7LPEbzNugVLYHjw7YSzqtAacMnmOYmMnhjzed8mWmGjwEKiDy1qWQq/b+2GWuR5LH74/pEYF0/3M5XwEvQFGleZ1CVdemTeHBgjvAye6jBtOvJXijEprfiFbaNvWLgecwBtIlW76J9t+SEPWGe29nMNvMJl6rYvsT8sTnsTc2tL2v6kOpSTb3KgIyGPSajVJQ8v2JjlDIVUMPRObVfHQ979B3WkMfkL+zuy9rbxXAT/FDZwuV15nN33OoONDl+uql200zpBk6Co7SQEanH1bUu1SiyowQ3dH5cYm+dOd+Xep06e/79UjzAyw08ok6nqHEraotwZUjh0wILiaX4EU72x1apyDPxCnFUUyKpH7MMxI/OUMMSrVOThBLJS+ZcRCQ3EPL8yEHwJ2wKfB6xnbaX/ctUhcSi15GcC5ZyfS12KHOwHgeasheKvOSjrzZV1pxVn+7BG8sr/LwnzUbC7CiBoAYzv/9e+kfVXhgIdRq75zRltJLVQQQU9Bk32iOjprxiK8XO5VBfwGKCtMGTrBbb8Q1sXgTOyoxvfR5hIKlnPu5gF4mCsCt9Jll496pzQnKhzEvTt3SM/02/5YpQjw=
78
matrix:
89
- VSCODE_VERSION="1.33.0" MAJOR_VERSION="1" VERSION="$MAJOR_VERSION.$TRAVIS_BUILD_NUMBER-vsc$VSCODE_VERSION"
10+
=======
11+
- 10.15.1
12+
services:
13+
- docker
14+
>>>>>>> upstream/master
915
matrix:
1016
include:
1117
- os: linux
1218
dist: trusty
19+
env:
20+
- VSCODE_VERSION="1.33.1" MAJOR_VERSION="1" VERSION="$MAJOR_VERSION.$TRAVIS_BUILD_NUMBER-vsc$VSCODE_VERSION" TARGET="centos"
21+
- os: linux
22+
dist: trusty
23+
env:
24+
- VSCODE_VERSION="1.33.1" MAJOR_VERSION="1" VERSION="$MAJOR_VERSION.$TRAVIS_BUILD_NUMBER-vsc$VSCODE_VERSION" TARGET="alpine"
1325
- os: osx
26+
env:
27+
- VSCODE_VERSION="1.33.1" MAJOR_VERSION="1" VERSION="$MAJOR_VERSION.$TRAVIS_BUILD_NUMBER-vsc$VSCODE_VERSION"
1428
before_install:
1529
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install libxkbfile-dev
1630
libsecret-1-dev; fi
@@ -22,7 +36,7 @@ before_deploy:
2236
- git config --local user.name "$USER_NAME"
2337
- git config --local user.email "$USER_EMAIL"
2438
- git tag "$VERSION" "$TRAVIS_COMMIT"
25-
- yarn task package "$VERSION"
39+
- if [[ “$TRAVIS_OS_NAME” == “osx” ]]; then yarn task package $VERSION; fi
2640
deploy:
2741
provider: releases
2842
file_glob: true
@@ -37,9 +51,14 @@ deploy:
3751
- release/*.tar.gz
3852
- release/*.zip
3953
on:
54+
<<<<<<< HEAD
4055
repo: devonlineco/code-server
4156
all_branches: true
4257
condition: $TRAVIS_BRANCH =~ ^master|testing|stable$
58+
=======
59+
repo: cdr/code-server
60+
branch: master
61+
>>>>>>> upstream/master
4362
cache:
4463
yarn: true
4564
timeout: 1000

Dockerfile

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM node:8.15.0
1+
FROM node:10.15.1
22

33
# Install VS Code's deps. These are the only two it seems we need.
44
RUN apt-get update && apt-get install -y \
@@ -24,7 +24,10 @@ RUN apt-get update && apt-get install -y \
2424
git \
2525
locales \
2626
sudo \
27-
dumb-init
27+
dumb-init \
28+
vim \
29+
curl \
30+
wget
2831

2932
RUN locale-gen en_US.UTF-8
3033
# We unfortunately cannot use update-locale because docker will not use the env variables
@@ -37,8 +40,13 @@ RUN adduser --gecos '' --disabled-password coder && \
3740
USER coder
3841
# We create first instead of just using WORKDIR as when WORKDIR creates, the user is root.
3942
RUN mkdir -p /home/coder/project
43+
4044
WORKDIR /home/coder/project
4145

46+
# This assures we have a volume mounted even if the user forgot to do bind mount.
47+
# So that they do not lose their data if they delete the container.
48+
VOLUME [ "/home/coder/project" ]
49+
4250
COPY --from=0 /src/packages/server/cli-linux-x64 /usr/local/bin/code-server
4351
EXPOSE 8443
4452

README.md

+14-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
# code-server
22

3-
[!["Open Issues"](https://img.shields.io/github/issues-raw/codercom/code-server.svg)](https://github.com/codercom/code-server/issues)
4-
[!["Latest Release"](https://img.shields.io/github/release/codercom/code-server.svg)](https://github.com/codercom/code-server/releases/latest)
5-
[![MIT license](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/codercom/code-server/blob/master/LICENSE)
3+
[!["Open Issues"](https://img.shields.io/github/issues-raw/cdr/code-server.svg)](https://github.com/cdr/code-server/issues)
4+
[!["Latest Release"](https://img.shields.io/github/release/cdr/code-server.svg)](https://github.com/cdr/code-server/releases/latest)
5+
[![MIT license](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/cdr/code-server/blob/master/LICENSE)
66
[![Discord](https://img.shields.io/discord/463752820026376202.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/zxSwN8Z)
77

88
`code-server` is [VS Code](https://github.com/Microsoft/vscode) running on a remote server, accessible through the browser.
99

1010
Try it out:
1111
```bash
12-
docker run -it -p 127.0.0.1:8443:8443 -v "${PWD}:/home/coder/project" codercom/code-server:1.621 --allow-http --no-auth
12+
docker run -it -p 127.0.0.1:8443:8443 -v "${PWD}:/home/coder/project" codercom/code-server --allow-http --no-auth
1313
```
1414

1515
- Code on your Chromebook, tablet, and laptop with a consistent dev environment.
@@ -23,17 +23,17 @@ docker run -it -p 127.0.0.1:8443:8443 -v "${PWD}:/home/coder/project" codercom/c
2323

2424
## Getting Started
2525

26-
### Hosted
26+
### Run over SSH
2727

28-
[Try `code-server` now](https://coder.com/signup) for free at coder.com.
28+
Use [sshcode](https://github.com/codercom/sshcode) for a simple setup.
2929

3030
### Docker
3131

3232
See docker oneliner mentioned above. Dockerfile is at [/Dockerfile](/Dockerfile).
3333

3434
### Binaries
3535

36-
1. [Download a binary](https://github.com/codercom/code-server/releases) (Linux and OS X supported. Windows coming soon)
36+
1. [Download a binary](https://github.com/cdr/code-server/releases) (Linux and OS X supported. Windows coming soon)
3737
2. Start the binary with the project directory as the first argument
3838

3939
```
@@ -46,7 +46,7 @@ See docker oneliner mentioned above. Dockerfile is at [/Dockerfile](/Dockerfile)
4646
4747
For detailed instructions and troubleshooting, see the [self-hosted quick start guide](doc/self-hosted/index.md).
4848
49-
Quickstart guides for [Google Cloud](doc/admin/install/google_cloud.md), [AWS](doc/admin/install/aws.md), and [Digital Ocean](doc/admin/install/digitalocean.md).
49+
Quickstart guides for [Google Cloud](doc/admin/install/google_cloud.md), [AWS](doc/admin/install/aws.md), and [DigitalOcean](doc/admin/install/digitalocean.md).
5050
5151
How to [secure your setup](/doc/security/ssl.md).
5252
@@ -67,6 +67,12 @@ How to [secure your setup](/doc/security/ssl.md).
6767
6868
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.
6969
70+
## Telemetry
71+
72+
Use the `--disable-telemetry` flag or set `DISABLE_TELEMETRY=true` to disable tracking ENTIRELY.
73+
74+
We use data collected to improve code-server.
75+
7076
## Contributing
7177
7278
Development guides are coming soon.

build/platform.ts

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/**
2+
* Script that detects platform name and arch.
3+
* Cannot use os.platform() as that won't detect libc version
4+
*/
5+
import * as cp from "child_process";
6+
import * as fs from "fs";
7+
import * as os from "os";
8+
9+
enum Lib {
10+
GLIBC,
11+
MUSL,
12+
}
13+
14+
const CLIB: Lib | undefined = ((): Lib | undefined => {
15+
if (os.platform() !== "linux") {
16+
return;
17+
}
18+
const glibc = cp.spawnSync("getconf", ["GNU_LIBC_VERSION"]);
19+
if (glibc.status === 0) {
20+
return Lib.GLIBC;
21+
}
22+
23+
const ldd = cp.spawnSync("ldd", ["--version"]);
24+
if (ldd.stdout && ldd.stdout.indexOf("musl") !== -1) {
25+
return Lib.MUSL;
26+
}
27+
28+
const muslFile = fs.readdirSync("/lib").find((value) => value.startsWith("libc.musl"));
29+
if (muslFile) {
30+
return Lib.MUSL;
31+
}
32+
33+
return Lib.GLIBC;
34+
})();
35+
36+
export const platform = (): NodeJS.Platform | "musl" => {
37+
if (CLIB === Lib.MUSL) {
38+
return "musl";
39+
}
40+
41+
return os.platform();
42+
};

build/tasks.ts

+11-20
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { register, run } from "@coder/runner";
22
import * as fs from "fs";
33
import * as fse from "fs-extra";
44
import * as os from "os";
5+
import { platform } from "./platform";
56
import * as path from "path";
67
import * as zlib from "zlib";
78
import * as https from "https";
@@ -12,7 +13,7 @@ const libPath = path.join(__dirname, "../lib");
1213
const vscodePath = path.join(libPath, "vscode");
1314
const defaultExtensionsPath = path.join(libPath, "extensions");
1415
const pkgsPath = path.join(__dirname, "../packages");
15-
const vscodeVersion = process.env.VSCODE_VERSION || "1.33.0";
16+
const vscodeVersion = process.env.VSCODE_VERSION || "1.33.1";
1617
const vsSourceUrl = `https://codesrv-ci.cdr.sh/vstar-${vscodeVersion}.tar.gz`;
1718

1819
const buildServerBinary = register("build:server:binary", async (runner) => {
@@ -48,19 +49,11 @@ const buildServerBinaryCopy = register("build:server:binary:copy", async (runner
4849
const bootstrapForkPath = path.join(pkgsPath, "vscode", "out", "bootstrap-fork.js");
4950
const webOutputPath = path.join(pkgsPath, "web", "out");
5051
const browserAppOutputPath = path.join(pkgsPath, "app", "browser", "out");
51-
const nodePtyModule = path.join(pkgsPath, "protocol", "node_modules", "node-pty-prebuilt", "build", "Release", "pty.node");
52-
const spdlogModule = path.join(pkgsPath, "protocol", "node_modules", "spdlog", "build", "Release", "spdlog.node");
5352
let ripgrepPath = path.join(pkgsPath, "..", "lib", "vscode", "node_modules", "vscode-ripgrep", "bin", "rg");
5453
if (isWin) {
5554
ripgrepPath += ".exe";
5655
}
5756

58-
if (!fs.existsSync(nodePtyModule)) {
59-
throw new Error("Could not find pty.node. Ensure all packages have been installed");
60-
}
61-
if (!fs.existsSync(spdlogModule)) {
62-
throw new Error("Could not find spdlog.node. Ensure all packages have been installed");
63-
}
6457
if (!fs.existsSync(webOutputPath)) {
6558
throw new Error("Web bundle must be built");
6659
}
@@ -75,24 +68,22 @@ const buildServerBinaryCopy = register("build:server:binary:copy", async (runner
7568
}
7669
fse.copySync(defaultExtensionsPath, path.join(cliBuildPath, "extensions"));
7770
fs.writeFileSync(path.join(cliBuildPath, "bootstrap-fork.js.gz"), zlib.gzipSync(fs.readFileSync(bootstrapForkPath)));
78-
const cpDir = (dir: string, subdir: "auth" | "unauth", rootPath: string): void => {
71+
const cpDir = (dir: string, rootPath: string, subdir?: "login"): void => {
7972
const stat = fs.statSync(dir);
8073
if (stat.isDirectory()) {
8174
const paths = fs.readdirSync(dir);
82-
paths.forEach((p) => cpDir(path.join(dir, p), subdir, rootPath));
75+
paths.forEach((p) => cpDir(path.join(dir, p), rootPath, subdir));
8376
} else if (stat.isFile()) {
84-
const newPath = path.join(cliBuildPath, "web", subdir, path.relative(rootPath, dir));
77+
const newPath = path.join(cliBuildPath, "web", subdir || "", path.relative(rootPath, dir));
8578
fse.mkdirpSync(path.dirname(newPath));
8679
fs.writeFileSync(newPath + ".gz", zlib.gzipSync(fs.readFileSync(dir)));
8780
} else {
8881
// Nothing
8982
}
9083
};
91-
cpDir(webOutputPath, "auth", webOutputPath);
92-
cpDir(browserAppOutputPath, "unauth", browserAppOutputPath);
84+
cpDir(webOutputPath, webOutputPath);
85+
cpDir(browserAppOutputPath, browserAppOutputPath, "login");
9386
fse.mkdirpSync(path.join(cliBuildPath, "dependencies"));
94-
fse.copySync(nodePtyModule, path.join(cliBuildPath, "dependencies", "pty.node"));
95-
fse.copySync(spdlogModule, path.join(cliBuildPath, "dependencies", "spdlog.node"));
9687
fse.copySync(ripgrepPath, path.join(cliBuildPath, "dependencies", "rg"));
9788
});
9889

@@ -190,12 +181,12 @@ register("package", async (runner, releaseTag) => {
190181

191182
const releasePath = path.resolve(__dirname, "../release");
192183

193-
const archiveName = `code-server${releaseTag}-${os.platform()}-${os.arch()}`;
184+
const archiveName = `code-server${releaseTag}-${platform()}-${os.arch()}`;
194185
const archiveDir = path.join(releasePath, archiveName);
195186
fse.removeSync(archiveDir);
196187
fse.mkdirpSync(archiveDir);
197188

198-
const binaryPath = path.join(__dirname, `../packages/server/cli-${os.platform()}-${os.arch()}`);
189+
const binaryPath = path.join(__dirname, `../packages/server/cli-${platform()}-${os.arch()}`);
199190
const binaryDestination = path.join(archiveDir, "code-server");
200191
fse.copySync(binaryPath, binaryDestination);
201192
fs.chmodSync(binaryDestination, "755");
@@ -204,9 +195,9 @@ register("package", async (runner, releaseTag) => {
204195
});
205196

206197
runner.cwd = releasePath;
207-
await os.platform() === "linux"
198+
await (os.platform() === "linux"
208199
? runner.execute("tar", ["-cvzf", `${archiveName}.tar.gz`, `${archiveName}`])
209-
: runner.execute("zip", ["-r", `${archiveName}.zip`, `${archiveName}`]);
200+
: runner.execute("zip", ["-r", `${archiveName}.zip`, `${archiveName}`]));
210201
});
211202

212203
run();

deployment/aws/deployment.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ metadata:
2626
provisioner: kubernetes.io/aws-ebs
2727
parameters:
2828
type: gp2
29-
fsType: ext4
29+
fsType: ext4
3030
---
3131
kind: PersistentVolumeClaim
3232
apiVersion: v1
@@ -71,4 +71,4 @@ spec:
7171
- name: code-server-storage
7272
persistentVolumeClaim:
7373
claimName: code-store
74-
74+

doc/admin/install/aws.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ If you're just starting out, we recommend [installing code-server locally](../..
3535
- At this point it is time to download the `code-server` binary. We will of course want the linux version.
3636
- Find the latest Linux release from this URL:
3737
```
38-
https://github.com/codercom/code-server/releases/latest
38+
https://github.com/cdr/code-server/releases/latest
3939
```
4040
- Replace {version} in the following command with the version found on the releases page and run it (or just copy the download URL from the releases page):
4141
```
42-
wget https://github.com/codercom/code-server/releases/download/{version}/code-server-{version}-linux-x64.tar.gz
42+
wget https://github.com/cdr/code-server/releases/download/{version}/code-server-{version}-linux-x64.tar.gz
4343
```
4444
- Extract the downloaded tar.gz file with this command, for example:
4545
```
@@ -66,4 +66,4 @@ If you're just starting out, we recommend [installing code-server locally](../..
6666
> The `-p 80` flag is necessary in order to make the IDE accessible from the public IP of your instance (also available from the description in the instances page.
6767
6868
---
69-
> NOTE: If you get stuck or need help, [file an issue](https://github.com/codercom/code-server/issues/new?&title=Improve+self-hosted+quickstart+guide), [tweet (@coderhq)](https://twitter.com/coderhq) or [email](mailto:[email protected]?subject=Self-hosted%20quickstart%20guide).
69+
> NOTE: If you get stuck or need help, [file an issue](https://github.com/cdr/code-server/issues/new?&title=Improve+self-hosted+quickstart+guide), [tweet (@coderhq)](https://twitter.com/coderhq) or [email](mailto:[email protected]?subject=Self-hosted%20quickstart%20guide).

doc/admin/install/digitalocean.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ If you're just starting out, we recommend [installing code-server locally](../..
1515
- Launch your instance
1616
- Open a terminal on your computer and SSH into your instance
1717
> example: ssh [email protected]
18-
- Once in the SSH session, visit code-server [releases page](https://github.com/codercom/code-server/releases/) and copy the link to the download for the latest linux release
18+
- Once in the SSH session, visit code-server [releases page](https://github.com/cdr/code-server/releases/) and copy the link to the download for the latest linux release
1919
- Find the latest Linux release from this URL:
2020
```
21-
https://github.com/codercom/code-server/releases/latest
21+
https://github.com/cdr/code-server/releases/latest
2222
```
2323
- Replace {version} in the following command with the version found on the releases page and run it (or just copy the download URL from the releases page):
2424
```
25-
wget https://github.com/codercom/code-server/releases/download/{version}/code-server-{version}-linux-x64.tar.gz
25+
wget https://github.com/cdr/code-server/releases/download/{version}/code-server-{version}-linux-x64.tar.gz
2626
```
2727
- Extract the downloaded tar.gz file with this command, for example:
2828
```
@@ -39,11 +39,11 @@ If you're just starting out, we recommend [installing code-server locally](../..
3939
> To ensure the connection between you and your server is encrypted view our guide on [securing your setup](../../security/ssl.md)
4040
- Finally start the code-server
4141
```
42-
sudo ./code-server-linux -p 80
42+
sudo ./code-server -p 80
4343
```
4444
> For instructions on how to keep the server running after you end your SSH session please checkout [how to use systemd](https://www.linode.com/docs/quick-answers/linux/start-service-at-boot/) to start linux based services if they are killed
4545
- When you visit the public IP for your Digital Ocean instance, you will be greeted with this page. Code-server is using a self-signed SSL certificate for easy setup. To proceed to the IDE, click **"Advanced"**<img src ="../../assets/chrome_warning.png">
4646
- Then click **"proceed anyway"**<img src="../../assets/chrome_confirm.png">
4747

4848
---
49-
> NOTE: If you get stuck or need help, [file an issue](https://github.com/codercom/code-server/issues/new?&title=Improve+self-hosted+quickstart+guide), [tweet (@coderhq)](https://twitter.com/coderhq) or [email](mailto:[email protected]?subject=Self-hosted%20quickstart%20guide).
49+
> NOTE: If you get stuck or need help, [file an issue](https://github.com/cdr/code-server/issues/new?&title=Improve+self-hosted+quickstart+guide), [tweet (@coderhq)](https://twitter.com/coderhq) or [email](mailto:[email protected]?subject=Self-hosted%20quickstart%20guide).

doc/admin/install/google_cloud.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ If you're just starting out, we recommend [installing code-server locally](../..
1414
- Choose Ubuntu 16.04 LTS as your boot disk
1515
- Check the boxes for **Allow HTTP traffic** and **Allow HTTPS traffic** in the **Firewall** section
1616
- Create your VM, and **take note** of its public IP address.
17-
- Copy the link to download the latest Linux binary from our [releases page](https://github.com/codercom/code-server/releases)
17+
- Copy the link to download the latest Linux binary from our [releases page](https://github.com/cdr/code-server/releases)
1818

1919
---
2020

@@ -27,12 +27,12 @@ gcloud compute ssh --zone [region] [instance name]
2727

2828
- Find the latest Linux release from this URL:
2929
```
30-
https://github.com/codercom/code-server/releases/latest
30+
https://github.com/cdr/code-server/releases/latest
3131
```
3232

3333
- Replace {version} in the following command with the version found on the releases page and run it (or just copy the download URL from the releases page):
3434
```
35-
wget https://github.com/codercom/code-server/releases/download/{version}/code-server-{version}-linux-x64.tar.gz
35+
wget https://github.com/cdr/code-server/releases/download/{version}/code-server-{version}-linux-x64.tar.gz
3636
```
3737

3838
- Extract the downloaded tar.gz file with this command, for example:
@@ -68,4 +68,4 @@ sudo ./code-server -p 80
6868

6969
---
7070

71-
> NOTE: If you get stuck or need help, [file an issue](https://github.com/codercom/code-server/issues/new?&title=Improve+self-hosted+quickstart+guide), [tweet (@coderhq)](https://twitter.com/coderhq) or [email](mailto:[email protected]?subject=Self-hosted%20quickstart%20guide).
71+
> NOTE: If you get stuck or need help, [file an issue](https://github.com/cdr/code-server/issues/new?&title=Improve+self-hosted+quickstart+guide), [tweet (@coderhq)](https://twitter.com/coderhq) or [email](mailto:[email protected]?subject=Self-hosted%20quickstart%20guide).

0 commit comments

Comments
 (0)