📦 EasyVoice 部署方案对比

部署方式 Windows 11 国产系统(统信UOS/麒麟) 特点
Docker 部署 ✅ 支持 ✅ 支持 最简单,一键运行,推荐
Node.js 源码部署 ✅ 支持 ✅ 支持 适合二次开发
二次开发版 ✅ 支持 ⚠️ ARM架构需特殊镜像 新增多角色配音UI 

🪟 Windows 11 系统部署 EasyVoice

方法一:Docker 部署(最简单,推荐)

1. 安装 Docker Desktop
  1. 访问 Docker 官网 下载 Docker Desktop for Windows

  2. 双击安装,务必勾选 "Use WSL 2 instead of Hyper-V"(性能更好)

  3. 安装完成后重启电脑

  4. 启动 Docker Desktop,等待右下角显示 "Engine running"

2. 验证 Docker 安装

打开 命令提示符(cmd) 或 PowerShell,执行:

docker version

如果显示版本信息,说明安装成功 。

3. 一键部署 EasyVoice

在任意目录打开 命令提示符,依次执行:

# 创建存放音频文件的目录
mkdir audio

# 运行 EasyVoice 容器
docker run -d -p 3000:3000 -v "%CD%\audio:/app/audio" --name easyvoice cosincox/easyvoice:latest

命令解析

  • -d:后台运行

  • -p 3000:3000:将容器内3000端口映射到本机3000端口 

  • -v "%CD%\audio:/app/audio":将当前目录下的audio文件夹挂载到容器,用于保存生成的音频 

  • --name easyvoice:容器名称

4. 验证部署

打开浏览器,访问:http://localhost:3000

如果看到 EasyVoice 的 Web 界面,恭喜你,部署成功! 

5. 常用 Docker 命令
# 查看容器运行状态
docker ps

# 查看日志
docker logs easyvoice

# 停止容器
docker stop easyvoice

# 启动容器
docker start easyvoice

# 重启容器
docker restart easyvoice

 6. 报错处理

问题1:Error response from daemon: Docker Desktop is unable to start 管理员运行CMD

解决:管理员运行cmd

wsl --update

问题2:docker run -d -p 3000:3000 -v "%CD%\audio:/app/audio" --name easyvoice cosincox/easyvoice:latest docker: Error response from daemon: %!C(string=is not a valid Windows path)D%!\(MISSING)audio

这个错误表明 Docker 在解析 Windows 路径时出了问题,%CD% 这个变量没有被正确识别。这是因为在 PowerShell 中,环境变量的引用方式与命令提示符不同。

问题原因

  • 在 命令提示符 (cmd) 中:使用 %CD% 获取当前目录

  • 在 PowerShell 中:需要使用 ${PWD} 或 $(Get-Location) 获取当前目录

解决方案

方法一:使用 PowerShell 的正确语法(推荐)

在 PowerShell 中,使用以下命令:

powershell

docker run -d -p 3000:3000 -v "${PWD}\audio:/app/audio" --name easyvoice cosincox/easyvoice:latest

或者:

powershell

docker run -d -p 3000:3000 -v "$(Get-Location)\audio:/app/audio" --name easyvoice cosincox/easyvoice:latest
方法二:使用绝对路径

如果上述方法仍不起作用,可以直接使用绝对路径:

powershell

# 先创建音频目录(如果不存在)
mkdir audio -Force

# 使用绝对路径(请将 D:\projects\tts-app 替换为你的实际路径)
docker run -d -p 3000:3000 -v "D:\projects\tts-app\audio:/app/audio" --name easyvoice cosincox/easyvoice:latest
方法三:切换到命令提示符

如果你习惯使用 %CD% 的语法,可以切换到传统的命令提示符 (cmd)

  1. 在当前目录的地址栏输入 cmd 并回车

  2. 在打开的 cmd 窗口中运行:

cmd

docker run -d -p 3000:3000 -v "%CD%\audio:/app/audio" --name easyvoice cosincox/easyvoice:latest

 方法二:Node.js 源码部署(适合开发)

如果你需要二次开发或修改源码,可以采用这种方式。

1. 安装依赖环境
  • Node.js:下载并安装 Node.js 16+ 

  • pnpm:打开 PowerShell 执行:

    bash

    npm install -g pnpm
  • FFmpeg:下载 FFmpeg 并添加到系统环境变量

2. 克隆源码并运行

bash

# 克隆项目
git clone https://github.com/cosin2077/easyVoice.git
cd easyVoice

# 安装依赖
pnpm install

# 启动开发服务器
pnpm dev

访问 http://localhost:5173 即可使用开发版本。


🐧 国产系统部署 EasyVoice

国产系统(统信UOS、麒麟等)通常基于 Linux 内核,部署方式与 Linux 类似。以下是针对国产系统的详细步骤。

方法一:Docker 部署(适配国产系统)

1. 安装 Docker

国产系统通常使用 命令行 安装 Docker。

打开终端,执行以下命令:

bash

# 更新软件源
sudo apt update

# 安装 Docker
sudo apt install docker.io

# 启动 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker

# 验证安装
docker version

如果系统是 麒麟 或 统信UOS,也可以使用官方脚本安装:

bash

curl -fsSL https://get.docker.com | sudo sh
2. 创建音频目录并部署

bash

# 创建存放音频的目录
mkdir -p ~/easyvoice/audio

# 运行 EasyVoice 容器
sudo docker run -d -p 3000:3000 -v ~/easyvoice/audio:/app/audio --name easyvoice cosincox/easyvoice:latest
3. 防火墙配置(如需局域网访问)

如果你希望局域网内的其他设备也能访问(比如你的Vue前端从其他电脑调用):

bash

# 开放3000端口
sudo ufw allow 3000

# 或者直接关闭防火墙(测试环境)
sudo ufw disable
4. 访问服务
  • 本机访问http://localhost:3000

  • 局域网访问http://<你的国产系统IP>:3000(可通过 ip addr 或 ifconfig 查看IP)

方法二:ARM 架构国产设备适配

如果你是在 国产 ARM 设备(如麒麟信创终端、鲲鹏服务器)上部署,需要注意:官方镜像 cosincox/easyvoice:latest 可能不支持 ARMv7 架构。

此时可以使用 二次开发版,该版本已适配 ARM 架构 :

bash

# 查看系统架构
uname -m

# 如果是 armv7l,使用这个镜像
sudo docker run -d -p 3000:3000 -v ~/easyvoice/audio:/app/audio --name easyvoice tannic666/easyvoice:v1.1-armv7

# 如果是 aarch64(ARM64),使用这个镜像
sudo docker run -d -p 3000:3000 -v ~/easyvoice/audio:/app/audio --name easyvoice tannic666/easyvoice:v1.1

方法三:使用 Docker Compose(更规范)

在国产系统上,你也可以使用 docker-compose 来管理服务,这样配置更清晰。

1. 安装 Docker Compose

bash

sudo apt install docker-compose
2. 创建配置文件

创建一个目录并新建 docker-compose.yml

bash

mkdir ~/easyvoice && cd ~/easyvoice
nano docker-compose.yml

粘贴以下内容:

yaml

services:
  easyvoice:
    image: cosincox/easyvoice:latest
    restart: unless-stopped
    container_name: easyvoice
    ports:
      - "3000:3000"
    environment:
      - DEBUG=true
    volumes:
      - ./audio:/app/audio
3. 启动服务

bash

sudo docker-compose up -d

🔌 将你的 Vue 前端连接到本地 EasyVoice 服务

部署好 EasyVoice 后,修改你之前的 Vue 项目中的环境变量:

修改 .env 文件

env

# Windows 11 本地部署
VITE_EASYVOICE_API_URL=http://localhost:3000/api/tts
VITE_EASYVOICE_WS_URL=ws://localhost:3000/ws

# 国产系统局域网部署(假设国产系统IP是 192.168.1.100)
# VITE_EASYVOICE_API_URL=http://192.168.1.100:3000/api/tts
# VITE_EASYVOICE_WS_URL=ws://192.168.1.100:3000/ws

验证连通性

在 Vue 项目中,可以通过浏览器开发者工具的 Network 标签查看 API 请求是否成功。


✅ 部署验证清单

完成部署后,请检查以下事项:

检查项 预期结果 验证方法
Docker 容器状态 运行中 docker ps 看到 easyvoice 容器
Web 界面访问 可打开页面 浏览器访问 http://localhost:3000
文本转语音 能生成音频 输入文字点击生成,能播放
音频文件保存 文件生成 检查 ~/easyvoice/audio 或 Windows 的 audio 文件夹
Vue 前端调用 能获取语音 运行你的 Vue 项目,测试 TTS 功能

📝 注意事项

  1. 端口冲突:如果 3000 端口被占用,可以在 Docker 命令中修改映射,如 -p 3001:3000,前端也要相应修改

  2. 音频存储路径:确保挂载的目录有写入权限 

  3. 国产系统防火墙:如需局域网访问,记得开放对应端口

  4. ARM 架构兼容性:国产 ARM 设备务必使用适配的镜像 

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐