Podman Desktop 部署 HeyGem.ai ( Docker 替代方案)


准备阶段
-
下载并安装Podman Desktop
- 从 Podman官网 下载最新版本
- 安装时选择合适的安装目录
-
配置Podman Desktop
- 迁移储存目录到非系统盘(如D盘)
- 启用GPU支持(参考你的博客)
- 初始化Podman机器
Windows 开发环境部署指南:WSL、Docker Desktop、Podman Desktop 部署顺序与存储路径迁移指南
环境配置阶段
新!在 podman-machine-default 中安装 CUDA、cuDNN、Anaconda、PyTorch 等并验证安装
用Podman Desktop创建自用的WSL-Fedora Linux子系统
-
配置Podman机器(非必须)
# 停止默认机器(如果存在) podman machine stop podman machine rm podman-machine-default -f # 创建新机器,指定资源配置 podman machine init --cpus=8 --memory=16GB --disk-size=100GB podman machine start -
安装NVIDIA容器工具包(建议着重关注 GPU 支持部分)
【笔记】在 Podman Machine(Fedora 42)中安装 NVIDIA Container Toolkit 使镜像能使用GPU
【笔记】 Podman Desktop 中部署 Stable Diffusion WebUI (GPU 支持)# 连接到Podman机器 podman machine ssh # 添加NVIDIA CUDA仓库 sudo dnf config-manager --add-repo=https://developer.download.nvidia.com/compute/cuda/repos/fedora42/x86_64/cuda-fedora42.repo sudo rpm --import https://developer.download.nvidia.com/compute/cuda/repos/fedora42/x86_64/3bf863cccb5d8950fff.pub # 安装NVIDIA驱动和工具包 sudo dnf install -y nvidia-container-toolkit nvidia-driver-cuda # 配置容器运行时 sudo nvidia-ctk runtime configure --runtime=crun sudo systemctl restart crun podman
项目部署阶段
-
克隆HeyGem.ai仓库
# 在Windows中克隆仓库 git clone https://github.com/duixcom/Duix-Avatar.git F:\PythonProjects\HeyGem.ai cd F:\PythonProjects\HeyGem.ai -
创建并激活虚拟环境
PyCharm 链接 Podman Desktop 的 podman-machine-default Linux 虚拟环境
# 在Windows中创建虚拟环境 python -m venv .venv .venv\Scripts\activate # 安装必要的Python工具 python -m pip install -U pip setuptools wheel -
在项目虚拟环境中安装podman-compose
# 安装podman-compose pip install podman-compose -
创建配置文件(重点)
# 在Windows的项目目录中创建配置文件 cd F:\PythonProjects\HeyGem.ai\deploy notepad podman-compose_high_ports.yml -
podman-compose_high_ports.yml 文件内容(重点)
以下是经实践并修改过文件的内容
version: '3.8' networks: ai_network: driver: bridge services: heygem-tts: image: guiji2025/fish-speech-ziming container_name: heygem-tts restart: always environment: - NVIDIA_VISIBLE_DEVICES=all - NVIDIA_DRIVER_CAPABILITIES=all ports: - "28180:8080" # 使用更高端口:28180 -> 8080 volumes: - type: bind source: "d:/heygem_data/voice/data" target: "/code/data" - /usr/lib/wsl:/usr/lib/wsl:ro - /usr/lib64/nvidia:/usr/lib/wsl/drivers/nv_dispsi.inf_amd64_8fb57f19613dba6f:ro command: /bin/bash -c "/opt/conda/envs/python310/bin/python3 tools/api_server.py --listen 0.0.0.0:8080" networks: - ai_network privileged: true heygem-asr: image: guiji2025/fun-asr container_name: heygem-asr restart: always privileged: true working_dir: /workspace/FunASR/runtime ports: - "20095:10095" # 使用更高端口:20095 -> 10095 command: sh /run.sh environment: - NVIDIA_VISIBLE_DEVICES=all - NVIDIA_DRIVER_CAPABILITIES=all volumes: - /usr/lib/wsl:/usr/lib/wsl:ro - /usr/lib64/nvidia:/usr/lib/wsl/drivers/nv_dispsi.inf_amd64_8fb57f19613dba6f:ro networks: - ai_network heygem-gen-video: image: guiji2025/heygem.ai container_name: heygem-gen-video restart: always privileged: true volumes: - type: bind source: "d:/heygem_data/face2face" target: "/code/data" - /usr/lib/wsl:/usr/lib/wsl:ro - /usr/lib64/nvidia:/usr/lib/wsl/drivers/nv_dispsi.inf_amd64_8fb57f19613dba6f:ro - /code/data/log environment: - PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512 - NVIDIA_VISIBLE_DEVICES=all - NVIDIA_DRIVER_CAPABILITIES=all shm_size: '8g' ports: - "28383:8383" # 使用更高端口:28383 -> 8383 command: /bin/bash -c "mkdir -p /code/data/log || true && python /code/app_local.py" networks: - ai_network -
启动服务
# 进入项目目录(注意:Podman机器中的路径可能不同) cd F:\PythonProjects\HeyGem.ai\deploy # 启动服务 podman-compose -f podman-compose_high_ports.yml up -d

验证阶段
-
检查服务状态
# 查看容器状态 podman-compose -f podman-compose_high_ports.yml ps # 查看日志 podman logs heygem-gen-video -
测试服务访问
打开项目组提供的 Duix.Avatar 软件进行生成测试
https://github.com/duixcom/Duix-Avatar/releases/download/v1.0.6/Duix.Avatar-1.0.6-setup.exe

维护阶段
-
日常管理
# 停止服务 podman-compose -f podman-compose_high_ports.yml down # 更新镜像 podman-compose -f podman-compose_high_ports.yml pull # 清理资源 podman system prune -a
CMD:
REM 停止现有服务
podman-compose -f podman-compose_alternate_ports.yml down -v
REM 使用高端口版本启动
podman-compose -f podman-compose_high_ports.yml up -d
REM 检查状态
podman-compose -f podman-compose_high_ports.yml ps
REM 查看日志
podman logs heygem-gen-video
关键注意事项
- 路径差异:Windows和Podman机器中的文件路径不同,需要注意映射关系
- 权限问题:确保数据目录有正确的权限设置
- GPU配置:NVIDIA驱动和CUDA版本需要匹配
- 端口冲突:使用高端口号避免与 Docker 原部署冲突
- 网络访问:确保防火墙允许服务端口访问