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_DOMAIN
和SERVER_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
- 通用安装(可以使用 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 容器的生命周期,确保在测试结束后可以清理资源。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。