群晖搭建 VSCode 服务器与 Syncthing 服务

这次我尝试在群晖上搭建 VSCode 服务器与 Syncthing 服务,实现电脑与 NAS 间的代码同步与网页中的 Coding。


VSCode 网页版的实现

偶遇服务器软件

刷 RSS 时我看到 V2EX 上一个帖子分享了一个实用工具:github+1s

这个项目可以实现在 网页版 VSCode 中打开 GitHhub 上的代码。

这个项目使用的 code-server 引起了我的兴趣。

code-server 的部署

群晖自带的 Docker 套件简化了部署的过程。

在注册表中搜索 code-server 下载 image;

打开 image 进行配置:

  • 使用高权限执行容器
  • 高级设置-环境 页面中添加环境变量 PASSWORD,值设定为你的登陆密码(由于在 Docker 页面中以明文保存,请注意密码安全)。

启动容器,并使用 Docker 内置的 终端机 打开一个新的 bash。换源、更新 apt 、安装常用软件我就不再赘述。

code-server 的外网访问

code-server 没有自带 HTTPS 相关的配置,需要使用网站服务器进行反向代理。

目前比较流行的有 Caddy 和 NGINX 两款。

鉴于 Caddy 配置简单且 HTTPS 优先,我这次使用 Caddy。

Caddy 官方安装文档

或使用一键安装脚本

curl https://getcaddy.com | bash -s personal

如果有开放的 443 端口,则可使用 Caddy 的自动 HTTPS 功能进行快速配置。

若像我一样在家中的 NAS 上配置 code-server,则需要自己申请 tls 证书 (如 Let`s Encrypt),并按照 Caddy-tls 配置。

反向代理配置可参考 code-server 官方的反代配置教程

一些疑难杂症

一些插件无法安装

目前 code-server 的 VSCode 版本为 1.51.1, VSCode 官方则为 1.54.3 ,因此某些较新的插件可能无法使用。

可以前往 VS插件市场 下载旧版插件并手动安装。

Docker 内挂载的目录无写权限

使用 sudo chmod 777 ./ 给 coder 用户赋予读写权力。

Docker 内 Caddy 无法自启

这个我也还没有解决。暂且手动启动。

code-server 的各种性能问题

等待更多的更新吧,我接下来会尝试在 Docker 里编译原版 VSCode 并开启 Web 模式,对比二者性能。

Syncthing 服务搭建

Syncthing 官网 已经给出了十分详尽的安装教程,也有群晖的安装包,我就不再赘述安装过程。

Syncthing 的管理页面端口为 8384,若想在外网访问请使用 HTTPS。可以使用群晖内置的反向代理服务器进行反代。

要注意把 22000 端口的 TCPUDP 全部开放,才可在外网顺利与 NAS 同步。


群晖搭建 VSCode 服务器与 Syncthing 服务
https://blog.udon.eu.org/archives/375e7789.html
作者
Kare Udon
发布于
2021年3月20日
许可协议