本文档涵盖了 code-server 的配置选项和系统。它解释了如何通过命令行参数、配置文件和环境变量来配置 code-server。
code-server 通过多种来源提供灵活的配置
这些配置选项控制身份验证、网络、文件访问、扩展和外观等方面。
来源: src/node/cli.ts323-459 src/node/cli.ts500-631 src/node/entry.ts7-61
code-server 按以下顺序加载配置,后面的来源会覆盖前面的来源
命令行参数是配置 code-server 最直接的方式。运行 code-server --help 查看所有可用选项。
示例
配置文件使用 YAML 格式,默认位置如下:
~/.config/code-server/config.yaml%USERPROFILE%\AppData\Roaming\code-server\config.yaml您可以使用 --config 标志或 CODE_SERVER_CONFIG 环境变量指定自定义配置文件位置。
示例配置文件
几个环境变量可以覆盖配置选项
PASSWORD: 设置身份验证密码HASHED_PASSWORD: 设置哈希密码(优先级高于 PASSWORD)GITHUB_TOKEN: 设置 GitHub 身份验证令牌PORT: 覆盖 bind-addr 中指定的端口CODE_SERVER_HOST: 覆盖 bind-addr 中指定的宿主CS_DISABLE_FILE_DOWNLOADS: 设置为 "1" 或 "true" 时禁用文件下载CODE_SERVER_CONFIG: 指定配置文件路径来源: src/node/cli.ts574-603 src/node/cli.ts665-690 src/node/cli.ts696-723
下表显示了可通过命令行标志、配置文件或环境变量设置的关键配置选项
| 选项 | 描述 | 默认 | CLI 标志 | 环境变量 |
|---|---|---|---|---|
| 身份验证类型 | 身份验证类型 | password | --auth | - |
| 密码 | 用于认证的密码 | (已生成) | --password | PASSWORD |
| 哈希密码 | Argon2 哈希密码 | - | --hashed-password | HASHED_PASSWORD |
| 绑定地址 | 要绑定的地址 | 127.0.0.1:8080 | --bind-addr | - |
| 主机 | 要绑定的宿主 | localhost | --host | CODE_SERVER_HOST |
| 端口 | 要绑定的端口 | 8080 | --port | PORT |
| HTTPS 证书 | SSL 证书路径 | (自签名) | --cert | - |
| 用户数据目录 | 用户数据路径 | (特定于平台) | --user-data-dir | - |
| 扩展目录 | 扩展路径 | (在用户数据目录中) | --extensions-dir | - |
| 禁用遥测 | 关闭遥测 | false | --disable-telemetry | - |
| 禁用更新检查 | 关闭更新检查 | false | --disable-update-check | - |
| 禁用文件下载 | 阻止文件下载 | false | --disable-file-downloads | CS_DISABLE_FILE_DOWNLOADS |
| 禁用文件上传 | 阻止文件上传 | false | --disable-file-uploads | - |
| 代理域 | 用于代理端口的域 | - | --proxy-domain | - |
| 禁用代理 | 禁用域和路径代理 | false | --disable-proxy | CS_DISABLE_PROXY |
| GitHub 认证 | GitHub 身份验证令牌 | - | --github-auth | GITHUB_TOKEN |
| 应用名称 | 窗口标题中的名称 | code-server | --app-name | - |
| 欢迎文本 | 登录时显示的文本 | (默认) | --welcome-text | - |
来源: src/node/cli.ts139-292 src/node/cli.ts574-623
code-server 支持两种身份验证类型
--auth password): 要求用户输入密码--auth none): 允许任何人访问服务器来源: src/node/util.ts177-201 src/node/util.ts223-262 src/node/util.ts272-291 src/node/http.ts100-139 src/node/routes/login.ts71-121
有几种配置密码的方法
明文密码:
password: your-passwordPASSWORD=your-password哈希密码:
hashed-password: $argon2i$v=19$m=4096...HASHED_PASSWORD=$argon2i$v=19$m=4096...哈希密码的优先级高于明文密码。出于安全考虑,建议使用哈希密码。
当未显式设置密码时,code-server 在首次运行时会生成一个随机密码并将其保存在配置文件中。
来源: src/node/cli.ts574-594 src/node/cli.ts648-654 src/node/cli.ts677-680
您可以控制 code-server 在哪里监听连接
或者,使用 --bind-addr 标志,或者同时设置 --host 和 --port。
对于 HTTPS,您可以提供证书和密钥
如果启用了 cert 但未提供路径,code-server 会生成自签名证书。
code-server 可以将请求代理到本地运行的服务
这允许 code-server 将类似 8080.example.com 的请求代理到 localhost:8080。
您可以使用 --disable-proxy 或设置 CS_DISABLE_PROXY=1 来禁用代理。
来源: src/node/cli.ts725-775 src/node/cli.ts89-108 src/node/http.ts78-95
您可以在启动时安装扩展
启用扩展中的 GitHub 功能
您也可以通过 GITHUB_TOKEN 环境变量来设置此项。
用户数据目录包含设置、扩展和其他用户特定数据
如果未指定,则默认为
~/.local/share/code-server~/Library/Application Support/code-server%APPDATA%\code-server扩展目录包含已安装的 VS Code 扩展
默认情况下,它位于用户数据目录中。
您可以限制文件操作
来源: src/node/cli.ts504-514 src/node/util.ts58-87
在 Docker 中运行 code-server 时,您可以设置环境变量
对于使用 Helm 的 Kubernetes 部署,values.yaml 中的关键值包括
您还可以配置额外的参数、环境变量等。
来源: ci/helm-chart/values.yaml1-209 ci/helm-chart/Chart.yaml1-24
当 code-server 首次运行时没有配置文件,它会在标准位置创建一个默认配置文件,其中包含
来源: src/node/cli.ts648-654 src/node/cli.ts665-690
如果您遇到配置问题,您可以
--log debug 或 --verbosecode-server --help 验证配置文件路径