|
先用virtualBox装的Docker,安装好之后,需要调整Docker内部的问题,(见issue 53),就没有调整,换wsl2 安装了(见后详细部署方法)。
在装好virtualBox之后,发现一个问题,
disk.vmdk只有19G大小,空间不够。
发现这个盘挂载在/dev/sda 上,/dev/sda1/ 上挂载了lib/docker (通过df -h查出了)
下面是扩充该盘空间的办法:
- .\vboxmanager.exe "E:\centos\centos.vmdk" "E:\centos\centos-python.vdi" -format VDI
复制代码
然后给VDI扩容:
- C:\Program Files\Oracle\VirtualBox>vboxmanage modifyhd "E:\centos\centos-python.vdi" --resize 51200
复制代码
注意单位是MB。
然后在vbox管理器中将硬盘换做这个新硬盘即可。(当然这只是理论上的容量,操作系统,比如linux,还是需要扩容,参考resize2fs等方法,本论坛也介绍了)。
如果tts出了问题,看日志:
如果网络端口出了问题,看端口
- netstat -aon | findstr 18180
- netstat -an | grep 18180
复制代码 第一个是win的,第二个是linux的。
下面介绍在win10上面安装HeyGem的过程:
全版 HeyGem.ai 安装步骤:
1、安装ubuntu 220401 :
打开Windows应用商店,输入wsl 2,在出现的Ubuntu列表里选择 Ubuntu 22.04.01, 安装。
2、安装terminal:
同样是应用商店,输入terminal, 安装terminal终端,为的是好操作Ubuntu。
3、打开ubuntu:
在terminal中打开下拉箭头,选择新建的ubuntu,第一次启动时会问用户名和密码,输入用户名和密码。
4、使用git clone ssh://github.com/GuijiAI/HeyGem.ai.git
5、 在ubuntu中安装docker: 参考Ubuntu | Docker Docs- # Add Docker's official GPG key:
- sudo apt-get update
- sudo apt-get install ca-certificates curl
- sudo install -m 0755 -d /etc/apt/keyrings
- sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
- sudo chmod a+r /etc/apt/keyrings/docker.asc
- # Add the repository to Apt sources:
- echo \
- "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
- $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
- sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- sudo apt-get update
复制代码 下面安装docker:
- sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
复制代码 安好了没有:
6、安装显卡驱动:https://www.nvidia.cn/drivers/lookup/
安装好后使用 nvidia-smi 验证。
7、安装NVIDIA Container Toolkit:
- curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
- && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
- sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
- sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
复制代码 下面允许apt安装试验性的包(可选):- sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
复制代码 接下来,更新apt列表:
sudo apt-get update
然后,安装:
- sudo apt-get install -y nvidia-container-toolkit
复制代码 接下来安装(改写daemon.json)docker runtime:
- sudo nvidia-ctk runtime configure --runtime=docker
- sudo systemctl restart docker
复制代码
安装好了之后验证:
- sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
复制代码 看到nvidia-smi的表格就算装好了。(注意,/etc/docker/daemon.json现在如下:)
- {
- "registry-mirrors": [
- "https://hub.littlediary.cn",
- "https://docker.kejilion.pro",
- "https://docker.1panelproxy.com"
- ],
- "runtimes": {
- "nvidia": {
- "args": [],
- "path": "nvidia-container-runtime"
- }
- }
- }
复制代码 8、拉取服务端:先把上面daemon.json的上半部分写好,这个是用于拉取的时候使用国内的镜像的。见:教程 | 2025国内可用Docker镜像源配置指南(文末命令一键执行)_docker 国内镜像源-CSDN博客
下面安装 docker-compose:
- sudo apt install docker-compose
复制代码 然后下载源码:
- sudo git clone https://github.com/GuijiAI/HeyGem.ai.git
复制代码 然后进入HeyGem.ai的deploy目录,修改 docker-compose-linux.yml 为:
- networks:
- ai_network:
- driver: bridge
- services:
- heygem-tts:
- image: guiji2025/fish-speech-ziming
- container_name: heygem-tts
- restart: always
- runtime: nvidia
- environment:
- - NVIDIA_VISIBLE_DEVICES=0
- - NVIDIA_DRIVER_CAPABILITIES=compute,graphics,utility,video,display
- ports:
- - '18180:8080'
- volumes:
- - ~/heygem_data/voice/data:/code/data
- command: /bin/bash -c "/opt/conda/envs/python310/bin/python3 tools/api_server.py --listen 0.0.0.0:8080"
- networks:
- - ai_network
- heygem-asr:
- image: guiji2025/fun-asr
- container_name: heygem-asr
- restart: always
- runtime: nvidia
- privileged: true
- working_dir: /workspace/FunASR/runtime
- ports:
- - '10095:10095'
- command: sh /run.sh
- deploy:
- resources:
- reservations:
- devices:
- - driver: nvidia
- count: all
- capabilities: [gpu]
- networks:
- - ai_network
- heygem-gen-video:
- image: guiji2025/heygem.ai
- container_name: heygem-gen-video
- restart: always
- runtime: nvidia
- privileged: true
- volumes:
- - ~/heygem_data/face2face:/code/data
- environment:
- - PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512
- deploy:
- resources:
- reservations:
- devices:
- - driver: nvidia
- count: all
- capabilities: [gpu]
- shm_size: '8g'
- ports:
- - '8383:8383'
- command: python /code/app_local.py
- networks:
- - ai_network
复制代码 再之后,确保当前目录在deploy, 拉取:
- docker-compose -f docker-compose-linux.yml up -d
复制代码 如果内存比较小,无法同时拉取,就一项一项取得:- sudo docker pull guiji2025/fish-speech-ziming:latest
- sudo docker pull guiji2025/fun-asr:latest
- sudo docker pull guiji2025/heygem.ai:latest
复制代码 然后再运行前一个命令。
OK!
下面是答疑时间。
1、我运行客户端,创建新角色报“Socket hang up.“
这个很可能是ubuntu 的 iptables 设置问题,见本论坛:iptables 允许转发 - 网络管理 - Discuz! BBS - Powered by Discuz!,
利用里面的命令,放开所有的转发的drop或其他的阻滞即可。注意实在不行还可以关闭win10自带防火墙。
2、报SQL3 不支持保存,这个应该是内存过小或者宿主机存储audio的目录没有权限,见:TypeError: SQLite3 can only bind numbers, strings, bigints, buffers,and null · Issue #387 · GuijiAI/HeyGem.ai
3、sudo docker logs heygem-asr : 里面显示没有安装 ffmpeg,用exec大法进行安装 sudo docker exec -it ,进入交互界面后 sudo apt update & sudo apt install ffmpeg 即可。
|
|