EasyVoice后端服务本地化

📦 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,执行:

bash 复制代码
docker version

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

3. 一键部署 EasyVoice

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

bash 复制代码
# 创建存放音频文件的目录
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 命令
bash 复制代码
# 查看容器运行状态
docker ps

# 查看日志
docker logs easyvoice

# 停止容器
docker stop easyvoice

# 启动容器
docker start easyvoice

# 重启容器
docker restart easyvoice

方法二: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 addrifconfig 查看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 设备务必使用适配的镜像

相关推荐
于慨17 小时前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
石小石Orz17 小时前
油猴脚本实现生产环境加载本地qiankun子应用
前端·架构
从前慢丶17 小时前
前端交互规范(Web 端)
前端
CHU72903518 小时前
便捷约玩,沉浸推理:线上剧本杀APP功能版块设计详解
前端·小程序
GISer_Jing18 小时前
Page-agent MCP结构
前端·人工智能
王霸天18 小时前
💥别再抄网上的Scale缩放代码了!50行源码教你写一个永不翻车的大屏适配
前端·vue.js·数据可视化
小领航18 小时前
用 Three.js + Vue 3 打造炫酷的 3D 行政地图可视化组件
前端·github
@大迁世界18 小时前
2026年React大洗牌:React Hooks 将迎来重大升级
前端·javascript·react.js·前端框架·ecmascript
PieroPc18 小时前
一个功能强大的 Web 端标签设计和打印工具,支持服务器端直接打印到局域网打印机。Fastapi + html
前端·html·fastapi
悟空瞎说18 小时前
深入 Vue3 响应式:为什么有的要加.value,有的不用?从设计到源码彻底讲透
前端·vue.js