Heygem.ai开源数字人-Linux环境部署实现_heygem linux
服务器配置:
Ubuntu22.04
显卡:nvidia-3090 ! 必须使用英伟达显
docker:27.2.0
docker-compose:2.35.1
1、安装NVIDIA Container Toolkit
NVIDIA Container Toolkit 是 Docker 使用 NVIDIA GPU 的必要工具。安装步骤如下:
# 添加 NVIDIA 包仓库:distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \\ && curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo apt-key add - \\ && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list# 更新包列表并安装工具包sudo apt-get updatesudo apt-get install -y nvidia-container-toolkit# 配置 Docker 使用 NVIDIA 运行时sudo nvidia-ctk runtime configure --runtime=docker# 重启 Docker 服务:sudo systemctl restart docker
2、部署服务端
(1)克隆Heygem.ai项目代码
git clone https://github.com/GuijiAI/HeyGem.ai.git
(2)拉取docker镜像
# 拉镜像docker pull crpi-87t8jkvf79rj7hal.cn-huhehaote.personal.cr.aliyuncs.com/modelers_park/fun-asr:latestdocker pull crpi-87t8jkvf79rj7hal.cn-huhehaote.personal.cr.aliyuncs.com/modelers_park/fish-speech-ziming:latestdocker pull crpi-87t8jkvf79rj7hal.cn-huhehaote.personal.cr.aliyuncs.com/modelers_park/heygem.ai:latest# 重命名镜像(对齐docker compose中的镜像名)docker tag crpi-87t8jkvf79rj7hal.cn-huhehaote.personal.cr.aliyuncs.com/modelers_park/fish-speech-ziming:latest guiji2025/fish-speech-ziming:latestdocker tag crpi-87t8jkvf79rj7hal.cn-huhehaote.personal.cr.aliyuncs.com/modelers_park/fun-asr:latest guiji2025/fun-asr:latestdocker tag crpi-87t8jkvf79rj7hal.cn-huhehaote.personal.cr.aliyuncs.com/modelers_park/heygem.ai:latest guiji2025/heygem.ai:latest
(3)修改docker compose运行文件
docker-compose.yml在HeyGem.ai/deploy下
把两个地方的 d:/heygem_data/voice/data:/code/data 改为本地路径
(4)运行docker-compose
# docker-compose文件再deploy下面cd HeyGem.ai/deploydocker compose up -d
(5)修改heygem_data权限
chmod -R 777 heygem_data
3、部署客户端
(1)nvm安装node.js 18.20.7
下载nvm
# 手动下载nvm 包wget https://github.com/nvm-sh/nvm/archive/refs/tags/v0.38.0.tar.gzmkdir -p /root/.nvmtar -zxvf v0.38.0.tar.gz -C /root/.nvmvim ~/.bashrc # 在.bashrc尾部添加export NVM_DIR=\"$HOME/.nvm/nvm-0.38.0\"[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\" # This loads nvm[ -s \"$NVM_DIR/bash_completion\" ] && \\. \"$NVM_DIR/bash_completion\" # This loads nvm bash_completion# 环境变量生效source ~/.bashrc# 验证nvm是否安装好nvm -v
安装node.js
# 安装nodenvm install 18.20.7# 使用nodenvm use 18.20.7node -v
(2)安装ffmpeg
# 安装依赖sudo apt install ffmpeg -y# 安装Linux版本的ffmpegcd HeyGem.ai/resources/ffmpegmkdir -p linux/bincd linuxwget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xztar xvf ffmpeg-release-amd64-static.tar.xzcp ffmpeg-7.0.2-amd64-static/ff* bin/
# 复制依赖cd HeyGem.aimkdir -p node_modules/electron/dist/resources/app.asar.unpacked/resources/ffmpeg/linux/bincp resources/ffmpeg/linux/bin/ff* node_modules/electron/dist/resources/app.asar.unpacked/resources/ffmpeg/linux/bin/
(3)修改客户端中的关于window的文件目录配置
cd HeyGem.ainpm install
src/main/config/config.js:修改成自己的路径
src/main/util/ffmpeg.js
(4)使用MobaXterm启动客户端
cd HeyGem.ainpm run start
遇到的错误:
1)Running as root without --no-sandbox is not supported. See https://crbug.com/638180 .
解决方法:npm run start启动客户端时不要用root账号,同时将Heygem.ai文件夹及其所有文件的所有者换成另外一个用户,且所有权限变成777
sudo chown -R test /mnt/HeyGem.aisudo chmod -R 777 /mnt/HeyGem.ai
2)Missing X server or $DISPLAY
解决方法:更换ssh连接客户端,推荐使用MobaXterm
3)Error: Error invoking remote method \'model/addModel\': Error: ffmpeg exited with code 234: Error opening output file /mnt/HeyGem.ai/deploy/heygem_data/voice/data/origin_audio/20250423173825813.wav. Error opening output files: Invalid argument
解决方法:上传的数字人模型视频没有声音,导致ffmpeg无法解析音频并生成wav