Docker
优势
- 简化管理:通过 Docker Compose 统一编排所有服务依赖
- 快速部署:一键启动完整的 CSGHub 服务栈
- 灵活扩展:支持横向扩展服务实例,按需调整资源配置和服务规模
- 生产就绪:满足中小企业级应用部署要求
提示:建议使用 Docker Compose 进行安装。
适用场景
- 快速搭建 CSGHub 演示环境
- 快速验证 CSGHub 功能
- 开发测试环境部署
- 中小规模生产环境部署
功能说明
根据配置复杂度,提供两种启动模式:
- 基本功能:除模型评测、推理、微调、应用空间、MCP 以外的所有功能功能(以上功能依赖 Kubernetes 集群)。
- 完整功能:包含 ce/ee 全部功能。
注意:使用 IP 地址访问时,MCP 功能将受限(该功能需域名支持)。
系统要求
硬件配置
组件 | 最低要求 | 推荐配置 |
---|---|---|
CPU | 4核 | 8核 |
内存 | 8GB | 16GB |
架构支持 | amd64/arm64 | - |
软件依赖
组件 | 版本要求 | 验证命令 | 其他依赖 |
---|---|---|---|
Docker Engine | ≥ 20.10.0 | docker --version | |
Docker Compose | ≥ 2.0.0 | docker compose version | |
Kubernetes | 1.28+ (可选) | kubectl version | 1. 启用Starship需要Kubernetes支持RWX存储类 2. GPU支持需要预安装Device Plugin 3. 最好支持Dynamic Volume Provisioning |
说明: 启用完整功能需要依赖 Kubernetes,否则模型评测、推理、微调,MCP, 应用空间等功能将不可用。
安装部署
CE版本
docker-compose.yml
services:
csghub:
image: opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.8.0-ce
environment:
CSGHUB_OMNIBUS_CONFIG: |
csghub:
external_url: "http://csghub.example.com" # 访问 CSGHub 实例域名,建议使用域名方式配置
notification:
enable: false
runner:
enable: true # 是否启用 Runner 服务,禁用则仅能使用基础功能
deploy:
knative:
services:
- type: "NodePort" # 如果 Kubernetes 集群支持 LoadBalancer,可以使用 LoadBalancer
domain: "app.internal" # 自定义 Knative Serving 内部域名
host: "192.168.18.10" # 暴露 kourier 服务的 EXTERNAL-IP
port: 30123 # 自定义端口号,type=LoadBalancer, 请指定为 80
ports:
- '80:80' # Nginx
- '2222:2222' # Git Over SSH
- '5000:5000' # Container Registry
- '8000:8000' # Casdoor
- '9000:9000' # Minio
volumes:
- ./csghub/etc:/etc/csghub
- ./csghub/logs:/var/log/csghub
- ./csghub/data:/var/opt/csghub
- ./csghub/.kube:/etc/csghub/.kube
restart: always
shm_size: '256m'启动服务
docker compose up -d && docker compose ps
注意: 如果 Kubernetes 集群未就绪请设置
environment.CSGHUB_OMNIBUS_CONFIG.runner.enable=false
(即安装使用基本功能)。停止服务
docker compose down
EE版本
docker-compose.yml
services:
csghub:
image: opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.8.0-ee
environment:
CSGHUB_OMNIBUS_CONFIG: |
csghub:
external_url: "http://csghub.example.com" # 访问 CSGHub 实例域名,建议使用域名方式配置
runner:
enable: true # 是否启用 Runner 服务,禁用则仅能使用基础功能
deploy:
knative:
services:
- type: "NodePort" # 如果 Kubernetes 集群支持 LoadBalancer,可以使用 NodePort
domain: "app.internal" # 自定义 Knative Serving 内部域名
host: "192.168.18.10" # 暴露 kourier 服务的 EXTERNAL-IP
port: 30123 # 自定义端口号,type=LoadBalancer, 请指定为 80
server:
dataflow:
address: "http://dataflow:8000" # Dataflow 地址
starship:
enable: true # 启用 Starship 编码助手
ports:
- '80:80' # Nginx
- '2222:2222' # Git Over SSH
- '5000:5000' # Container Registry
- '8000:8000' # Casdoor
- '8001:8001' # Starship Portal
- '8002:8002' # Starship-API Admin Console
- '9000:9000' # Minio
- '9001:9001' # Minio Admin UI
volumes:
- ./csghub/etc:/etc/csghub
- ./csghub/logs:/var/log/csghub
- ./csghub/data:/var/opt/csghub
- ./csghub/.kube:/etc/csghub/.kube
restart: always
shm_size: '256m'
dataflow: # Dataflow 为 CSGHub 数据集处理模块,可按需启用
image: opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/dataflow:latest
environment:
CSGHUB_ENDPOINT: "http://csghub.example.com"
DATABASE_HOSTNAME: "csghub"
DATABASE_PORT: "5432"
DATABASE_USERNAME: "dataflow"
DATABASE_PASSWORD: "8f444970fcde559c"
DATABASE_DB: "dataflow"
DATA_DIR: "/data"
MAX_WORKERS: 50
RAY_ADDRESS: "auto"
RAY_ENABLE: false
RAY_LOG_DIR: "/var/log/dataflow"
API_SERVER: "0.0.0.0"
API_PORT: 8000
AZURE_OPENAI_ENDPOINT: "$AZURE_OPENAI_ENDPOINT"
AZURE_OPENAI_API_KEY: "$AZURE_OPENAI_ENDPOINT"
OPENAI_API_VERSION: "$OPENAI_API_VERSION"
AZURE_MODEL: "$AZURE_MODEL"
ENABLE_OPENTELEMETRY: false
volumes:
- ./csghub/data/dataflow:/data
- ./csghub/logs/dataflow:/var/log/dataflow
restart: always启动服务
docker compose up -d && docker compose ps
停止服务
docker compose down
实例访问
实例 URL
见 docker-compose.yml 中的
csghub.external_url
。登录 csghub 容器
docker compose ps && docker exec -it <container> bash
查看默认管理员账户密码
cat /etc/csghub/init_root_password
配置说明(从高到低)
- 环境变量配置
CSGHUB_OMNIBUS_CONFIG
作用: 通过 Docker Compose 启动时注入动态配置参数 特点: 具有最高优先级,会覆盖其他配置源的相同参数 使用场景: 适合临时调整或容器化部署时的参数注入
- 主配置文件
/etc/csghub/csghub.yaml
内容: 完整参数集合,支持所有可配置项 建议: 仅需按需修改关键参数,未配置项自动继承默认值 权限: 建议保留系统默认权限(通常需 root 权限修改)
- 默认配置基准
/opt/csghub/etc/csghub/default.yaml
作用: 提供所有参数的基准默认值 特点:- 优先级最低,仅当其他配置未定义时生效
- 不建议直接修改(升级时可能被覆盖)
- 可作为配置模板参考
详细配置请参考:csghub.yaml.sample。
服务管理
csghub-ctl
Command Description --help 查看帮助 reconfigure 刷新所有服务配置文件并按需重启服务 start 启动服务 restart 重启服务 stop 停止服务 reload 重载服务 tail 跟踪服务日志 status 查看服务状态 csghub-psql
: 快速访问csghub_server
数据库
关于 .kube/config
.kube/config
文件作为访问 Kubernetes 集群的重要配置文件,在 CSGHub 运行时会依赖此文件。
关于外置服务
默认情况下以下组件会通过runner.deploy.autoConfigure=true
来进行自动配置,此配置需要依赖启动服务时传入的runner.deploy.knative.services[]
参数。如果存在一些原因无法完整自动配置,可以尝试通过以下方式手动安装配置:
问题反馈
如遇使用过程中遇到任何问题可以通过方式提交反馈: