这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

模块:Code

使用 Pigsty 部署 Code-Server,在浏览器中运行 VS Code,打造云端开发环境。

    Code-Server 是在浏览器中运行的 VS Code,让您可以在任何设备上访问完整的开发环境。 Pigsty 的 VIBE 模块提供了 Code-Server 的自动化部署方案,通过 Nginx 反向代理提供 HTTPS 访问。


    概述

    Code-Server 作为 VIBE 模块的一部分,部署为 systemd 服务,通过 Nginx 反向代理暴露到 Web。

    用户浏览器
        ↓ HTTPS
    Nginx (https://i.pigsty/code/)
        ↓ proxy_pass
    Code-Server (127.0.0.1:8443)
        └─ User: {{ node_user }}
        └─ WorkDir: {{ vibe_data }}
        └─ DataDir: {{ code_data }}
    

    快速开始

    启用 Code-Server

    在节点上设置 code_enabled: true(默认已启用),然后执行:

    ./vibe.yml -l <host> -t code
    

    或部署完整的 VIBE 模块(Code-Server + JupyterLab + Claude Code):

    ./vibe.yml -l <host>
    

    访问 Code-Server

    部署完成后,通过以下地址访问:

    • 子路径方式https://i.pigsty/code/
    • 子域名方式https://code.pigsty(需在 infra_portal 中配置)

    默认登录密码:Code.Server


    参数配置

    参数默认值说明
    code_enabledtrue是否在该节点启用 Code-Server
    code_port8443Code-Server 监听端口(仅 localhost)
    vibe_data/fs工作目录(VS Code 打开的文件夹)
    code_data/data/code用户数据目录(扩展、设置等)
    code_passwordCode.Server登录密码
    code_galleryopenvsx扩展市场:openvsxmicrosoft

    扩展市场

    Code-Server 默认使用 Open VSX 扩展市场。如需使用微软官方市场:

    code_gallery: microsoft
    

    中国大陆用户可使用清华镜像加速(自动配置)。


    剧本与任务

    Code-Server 通过 vibe.yml 剧本的 code 标签部署,包含以下任务:

    标签说明
    codeCode-Server 完整部署
    code_install安装 code-server 软件包
    code_dir创建工作目录和数据目录
    code_config渲染配置文件和 systemd 服务单元
    code_launch启动 code-server 服务

    常用命令:

    # 部署 Code-Server
    ./vibe.yml -l <host> -t code
    
    # 仅更新配置
    ./vibe.yml -l <host> -t code_config
    
    # 重启服务
    ./vibe.yml -l <host> -t code_launch
    

    目录结构

    {{ vibe_data }}                 # 工作目录(如 /fs)
    └── your-projects/              # 项目文件
    
    {{ code_data }}                 # 数据目录(如 /data/code)
    ├── code-server/
    │   ├── config.yaml             # Code-Server 配置
    │   ├── extensions/             # 已安装扩展
    │   └── User/
    │       └── settings.json       # 用户设置
    └── ...
    
    /etc/systemd/system/code-server.service  # systemd 服务单元
    /etc/default/code                         # 环境变量
    

    配置示例

    基础配置

    all:
      children:
        infra:
          hosts:
            10.10.10.10:
              code_enabled: true
              code_password: 'MySecurePassword'
    

    AI 辅助编程沙箱

    配合 JuiceFS 共享文件系统,打造云端开发环境(使用 vibe 配置模板):

    all:
      children:
        infra:
          hosts:
            10.10.10.10:
              code_enabled: true
              code_password: 'Code.Server'
              vibe_data: /fs                # 使用 JuiceFS 挂载点作为工作目录
              jupyter_enabled: true
              jupyter_password: 'Jupyter.Lab'
              claude_enabled: true
              juice_instances:
                jfs:
                  path: /fs
                  meta: postgres://dbuser_meta:DBUser.Meta@10.10.10.10:5432/meta
                  data: --storage postgres --bucket ...
    

    常见问题

    如何修改密码?

    修改配置中的 code_password,然后重新执行剧本:

    ./vibe.yml -l <host> -t code_config,code_launch
    

    如何安装扩展?

    在 Code-Server 界面中直接搜索安装,或通过命令行:

    code-server --install-extension ms-python.python
    

    扩展市场访问慢?

    使用 code_gallery: microsoft 切换到微软官方市场,或确保网络可访问 Open VSX。

    如何使用 GitHub Copilot?

    GitHub Copilot 目前不支持 Code-Server,可以考虑使用其他 AI 辅助编程工具。


    支持平台

    • 操作系统:EL 8/9/10、Ubuntu 20/22/24、Debian 11/12/13
    • 架构:x86_64、ARM64
    • Ansible:2.9+