为自搭建一个网页vscode

有时候会在很多台设备进行操作,git虽然可以提供多地的同步代码,但也会有忘记提交的情况。所以我了解到可以在服务器上搭建vscode,因为终端是服务器,变相解决了多台设备内容不相同的的问题。

不过由于不是网页版本,不是所有的vscode插件都能使用。

安装

首先安装docker和docker-compose

version: "3"
services:
  code-server:
    image: linuxserver/code-server:4.5.0
    container_name: code-server
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
      - PASSWORD=
      - SUDO_PASSWORD=
      - DEFAULT_WORKSPACE=/config/workspace
      - DOCKER_MODS=linuxserver/mods:code-server-python3|linuxserver/mods:code-server-zsh|linuxserver/mods:code-server-golang-1.18
    volumes:
      - ./data/code/config:/config
    ports:
      - 8443:8443
    restart: unless-stopped
  swag:
    image: linuxserver/swag
    container_name: swag
    cap_add:
      - NET_ADMIN
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
      - URL=
      - SUBDOMAINS=www
      - VALIDATION=http
      - STAGING=true
    volumes:
      - ./data/swag/config:/config
    ports:
      - 443:443
      - 80:80
    restart: unless-stopped
    links:
      - code-server

依旧是新建docker-compose.yml文件,运行docker-compose即可运行。

配置

https

由于有些功能需要在https下才能成功运行,比如markdown的预览功能,所以采用了制作docker镜像官方的方案,liunxserver/swag,运行后可以在./data/swag/config/nginx目录下,复制proxy-confs下以code-server开头的两个文件,subdomain代表以code-server.域名subfolder代表以域名/code-server,选择需要的文件复制到site-confs中。

如果自己有证书可以在nginx目录下修改ssl.conf进行配置,如果没有自己的证书。此镜像会自动申请免费的ssl文件,并配置。

code-server

在code-server的环境变量中有DOCKER_MODS,可以在启动容器时自动添加此功能,比如我添加了python3、ohmyzsh、golang,可以无需在容器内安装。

不过实际使用中导入速度会很慢,感觉不如手动进行安装,但优点是异常重启时,无需自己配置环境。

搭建成功后就可以快乐使用了。