Code-Server 是由 Coder 开发的在线版 VS Code,即基于浏览器的 IDE 。有一个浏览器即可在线编写代码和相关文档,最大的优点应该是只要有基础的网络即可随时随地的连接一个已经设定好环境的 IDE,且也可让 iPad 成为 “生产力工具” 吧。此处示例使用 Debian 11 amd64 系统,非 root 账号,原生环境(而非 docker )。官方要求有 1G 内存和 2 核 CPU,推荐选项里面是 2G 内存和 2 核 CPU,硬盘则是 32G SSD。
安装 Code-Server
Coder 官方在 GitHub: coder/code-server 上提供了不同的安装包,不过我们不需要手动下载解包安装,因为提供了一键安装脚本:
sudo apt install curl # 安装curl
curl -fsSL https://code-server.dev/install.sh | sh # 注意这里不是 root 用户
sudo systemctl enable --now code-server@$USER # 让Code-Server开机自启并后台运行,$USER改为你的当前用户。
此时,在当前用户的配置文件中就生成了 Code-Server 的密码,具体位置为 ~/.config/code-server/config.yaml
,可以根据自身需求与信息进行修改设置:
nano ~/.config/code-server/config.yaml # 打开配置文件
# 配置文件内容大致如下:
bind-addr: 127.0.0.1:8080 #内网地址
auth: password # 登录方式为密码
password: fb481f0197e8d9581684dcc4 # 密码
cert: false # 不使用证书验证
常用指令如下:
# 设置开机自启动
sudo systemctl enable --now code-server@$USER
# 关闭开机启动
sudo systemctl disable code-server@$USER
# 启动服务
sudo systemctl start code-server@$USER
# 停止服务
sudo systemctl stop code-server@$USER
# 重启服务
sudo systemctl restart code-server@$USER
# 查看服务状态
sudo systemctl status code-server@$USER
设置 SSL 和 Nginx 反代
由于默认开放的是内网,所以还需要使用 Nginx 反代,考虑到安全性,使用了Let’s Encrypt 的 SSL 证书实现全程 https 访问。关于 nginx 的安装与证书申请可以自行查阅其他文献。下面给出 nginx 设置反代的示例:
sudo nano /etc/nginx/nginx.conf
# 在 server 下添加如下内容
location /code-server {
proxy_pass http://localhost:8080/;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
}
# 注意这里的 http://127.0.0.1:8080 需要同配置 bind-addr 一致
至此,全部配置完成,理论上浏览器输入域名 https://you_domain/code-server
即可登录,但是推荐使用 reboot
命令重启系统,不然可能会遇到页面无法访问等问题。