头图

CSGHub 快速部署指南

Omnibus CSGHub 是 OpenCSG 推出的使用 Docker 快速部署 CSGHub 的一种方式,主要用于快速功能体验和测试。Docker 部署方式允许用户以较低成本在本地计算机部署 CSGHub。此种部署方法非常适合概念验证和测试,使用户能够立即访问 CSGHub 的核心功能(包括模型,数据集管理、Space 应用创建以及模型的推理和微调(需要 GPU))。本文将带您一步步完成部署。

什么是 CSGHub?

CSGHub 是一个集成化的模型和数据集管理平台,旨在为用户提供高效的机器学习工作流。无论您是进行概念验证、测试,还是在本地快速验证模型,CSGHub 都能为您提供所需的核心功能,包括:

  • 模型和数据集的管理与协作
  • 快速推理和模型微调
  • 一键部署,无需繁琐配置

今天的指南将教您如何利用 Docker 快速将 CSGHub 部署到您的本地环境中(支持 Linux、MacOS 和 Windows 操作系统)。

部署前准备

  • 操作系统:Linux、macOS、Windows,配置不低于 4c8g。
  • Docker 安装:确保已经安装 Docker Desktop 或 Docker Engine。
  • GPU 支持:若进行模型微调,建议使用 NVIDIA GPU(仅支持 NVIDIA GPU)。

快速部署 CSGHub

现在,让我们开始使用 Docker 快速部署 CSGHub。只需简单几步,您就可以在本地环境中体验 CSGHub 的强大功能。

提示

  • HTTPS 访问配置暂时不支持,可自行调整容器内 Nginx 配置。
  • 如果 SERVER_DOMAINSERVER_PORT 进行了修改,建议删除持久化数据目录后重新创建。
  • 云服务器 SERVER_DOMAIN = <external public ip>

1. 快速安装(无法使用 Space、模型推理微调功能)

Linux

提示
请自行替换 <your ip address> 为主机 IPv4 地址。

IPv4 地址查看方式
在终端命令行输入:

ip -4 -o addr show $(ip route show default | awk '/default/ {print $5}')

在 Linux 系统上,我们可以选择快速启动不做数据持久化的方式。以下是命令示例:

export SERVER_PORT=80
docker run -it -d \
    --name omnibus-csghub \
    --hostname omnibus-csghub \
    -p ${SERVER_PORT}:80 \
    -p 2222:2222 \
    -p 8000:8000 \
    -p 9000:9000 \
    -e SERVER_DOMAIN=<your ip address> \
    -e SERVER_PORT=${SERVER_PORT} \
    opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0

macOS

提示
Docker Desktop 部署请开启 Rosetta,方式如下:

  • Settings > General > Use Rosetta for x86_64/amd64 emulation on Apple Silicon

请自行替换 <your ip address> 为主机 IPv4 地址。

IPv4 地址查看方式
在终端命令行输入:

ipconfig getifaddr $(route get default | grep interface | awk '{print $2}')

注意:Rosetta 运行速度较慢。以 Rosetta 方式运行的容器会提示 WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8),忽略即可。

使用以下命令拉取镜像并启动 CSGHub:

docker pull --platform=linux/amd64 opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0

接下来执行快速启动命令(不做数据持久化):

export SERVER_PORT=80
docker run -it -d \
    --name omnibus-csghub \
    --hostname omnibus-csghub \
    -p ${SERVER_PORT}:80 \
    -p 2222:2222 \
    -p 8000:8000 \
    -p 9000:9000 \
    -e SERVER_DOMAIN=<your ip address> \
    -e SERVER_PORT=${SERVER_PORT} \
    opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0

正常启动(持久化数据):

export SERVER_PORT=80
docker run -it -d \
    --name omnibus-csghub \
    --hostname omnibus-csghub \
    -p ${SERVER_PORT}:80 \
    -p 2222:2222 \
    -p 8000:8000 \
    -p 9000:9000 \
    -v ~/Documents/csghub/data:/var/opt \
    -v ~/Documents/csghub/log:/var/log \
    -e SERVER_DOMAIN=<your ip address> \
    -e SERVER_PORT=${SERVER_PORT} \
    opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0

Windows

提示
请自行替换 <your ip address> 为主机 IPv4 地址。

IPv4 地址查看方式
组合键 Win + R,输出 cmd,待窗口打开后输入 ipconfig 获取 IPv4 地址。

在 Windows 上,您可以通过 PowerShell 或 CMD 启动 CSGHub 容器。

PowerShell 示例:

$env:SERVER_PORT = "80"
docker run -it -d `
    --name omnibus-csghub `
    --hostname omnibus-csghub `
    -p ${env:SERVER_PORT}:80 `
    -p 2222:2222 `
    -p 8000:8000 `
    -p 9000:9000 `
    -e SERVER_DOMAIN="<your ip address>" `
    -e SERVER_PORT=$env:SERVER_PORT `
    opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0

CMD 示例:

set SERVER_PORT=80
docker run -it -d ^
    --name omnibus-csghub ^
    --hostname omnibus-csghub ^
    -p %SERVER_PORT%:80 ^
    -p 2222:2222 ^
    -p 8000:8000 ^
    -p 9000:9000 ^
    -e SERVER_DOMAIN=<your ip address> ^
    -e SERVER_PORT=%SERVER_PORT% ^
    opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0
  1. 通用安装(可以使用 Space、模型推理微调功能,需 NVIDIA GPU)
    Linux

前置条件:

需要一个部署好 Knative Serving 的 Kubernetes 集群。
其他注意事项见快捷安装部分。

快速配置 k8s 环境:

curl -sfL https://raw.githubusercontent.com/OpenCSGs/csghub-installer/refs/heads/main/docker/scripts/k3s-install.sh | bash -s

若启用 NVIDIA GPU 配置:

curl -sfL https://raw.githubusercontent.com/OpenCSGs/csghub-installer/refs/heads/main/docker/scripts/k3s-install.sh | ENABLE_NVIDIA_GPU=true bash -s

配置 Docker:

cat <<EOF > /etc/docker/daemon.json
{
  "insecure-registries": ["<your ip address>:5000"]
}
EOF

systemctl restart docker

安装 CSGHub:

export SERVER_PORT=80
docker run -it -d \
    --name omnibus-csghub \
    --hostname omnibus-csghub \
    -p ${SERVER_PORT}:80 \
    -p 2222:2222 \
    -p 5000:5000 \
    -p 8000:8000 \
    -p 9000:9000 \
    -v /srv/csghub/data:/var/opt \
    -v /srv/csghub/log:/var/log \
    -v ~/.kube:/etc/.kube \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -e SERVER_DOMAIN=<your ip address> \
    -e SERVER_PORT=${SERVER_PORT} \
    opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0

macOS

请自行配置 Kubernetes 集群,且保证 ~/.kube/config 文件存在。然后使用类似如下命令进行安装:

export SERVER_PORT=80
docker run -it -d \
    --name omnibus-csghub \
    --hostname omnibus-csghub \
    -p ${SERVER_PORT}:80 \
    -p 2222:2222 \
    -p 5000:5000 \
    -p 8000:8000 \
    -p 9000:9000 \
    -v ~/Documents/csghub/data:/var/opt \
    -v ~/Documents/csghub/log:/var/log \
    -v ~/.kube:/etc/.kube \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -e SERVER_DOMAIN=<your ip address> \
    -e SERVER_PORT=${SERVER_PORT} \
    opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/omnibus-csghub:v1.0.0

3.访问 CSGHub

当以上部署成功后,使用如下方式进行访问:

访问地址:http://<SERVER_DOMAIN>:<SERVER_PORT>,例如 http://192.168.1.12
默认管理员:root
默认密码:Root@1234

4.使用命令行工具管理服务

CSGHub 提供了简易的命令行工具用来管理服务和查看服务日志。
服务管理

查看所有服务状态

csghub-ctl status

查看所有作业状态
EXITED 是正常状态

csghub-ctl jobs

重启某个服务

csghub-ctl restart nginx

日志管理

实时查看所有服务日志

csghub-ctl tail

实时查看某个服务日志

csghub-ctl tail nginx

所有其他命令选项继承自 supervisorctl。
CSGHub 功能探索

一旦您登录成功,您可以开始使用 CSGHub 的多种功能。CSGHub 提供了几个非常实用的功能:

模型托管:支持模型的托管,轻松上传和管理模型。
推理和微调:支持创建推理和微调实例(需要 NVIDIA GPU)。
数据集托管:用于处理数据集的简化工具,非常适合快速测试和验证。
应用托管:通过自定义程序和模型组合,快速创建大模型应用。

容器销毁

如果您想停止或删除 CSGHub 容器,可以通过以下命令管理:


docker rm -f omnibus-csghub

如果还需要卸载 Kubernetes 环境,可以执行如下操作:


/usr/local/bin/k3s-uninstall.sh

这些命令可以帮助您管理 Docker 容器的生命周期,确保在测试结束后可以清理资源。


OpenCSG
1 声望0 粉丝

OpenCSG 成立于2023年,致力于大模型生态社区建设,汇集人工智能行业上下游企业链,共同为大模型在垂直行业的应用提供平台产品和解决方案帮助企业在打造大模型及其应用落地的过程中的算力、人效多方面的降本增效。