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 设备务必使用适配的镜像

相关推荐
小江的记录本2 小时前
【HashMap】HashMap 系统性知识体系全解(附《HashMap 面试八股文精简版》)
java·前端·后端·容器·面试·hash·哈希
小J听不清2 小时前
CSS 文本对齐方式实战:text-align 核心用法
前端·javascript·css·html·css3
我爱学习_zwj2 小时前
设计模式-2(单例模式与原型模式)
前端·javascript·设计模式
bugcome_com2 小时前
ASP.NET Web Pages 教程 —— Razor 语法全面指南
前端·asp.net
霍理迪2 小时前
Vue—侦听属性
前端·javascript·vue.js
酉鬼女又兒2 小时前
零基础入门前端弹性布局(Flexbox)实战:结合 Class 与 ID 选择器(可用于备赛蓝桥杯Web开发应用)
前端·css·蓝桥杯·html·html5
小J听不清2 小时前
CSS display 属性全解析:块级 / 行内 / 行内块 / 隐藏
前端·javascript·css·html·css3
ONLYOFFICE2 小时前
ONLYOFFICE 全新 PDF 编辑器 API 上线,自动化处理 PDF 内容
前端·人工智能·pdf·编辑器·onlyoffice
James man2 小时前
前端节点连接库选型指南:React-Flow、AntV X6 与 Power-Link 深度对比
前端·react.js·前端框架