AWESOME-DIGITAL-HUMAN是一个开源数字人项目,可以容器化部署,资源占用少,可以对接dify,使用起来也很方便,非常感谢开发者。
容器化部署后,其实是有两个容器,分别启动两个服务,一个前端 http://ip:3000,一个后端http://ip:8000。我们浏览器访问前端即可正常使用数字人
不过有个不太方便的地方,如果我们想语音输入,浏览器默认会禁止,因为http方式被认为不安全,可以通过设置浏览器允许该网址使用麦克风:
edge浏览器网址输入 edge://flags/#unsafely-treat-insecure-origin-as-secure
chrome浏览器网址输入 chrome://flags/#unsafely-treat-insecure-origin-as-secure
将相应网址填入(以逗号隔开)启用后重启浏览器即可
如果我们想https访问的话,可以考虑在前面配置一个nginx作为反向代理,加载ssl证书,其实不止前端要反向代理,后端也需要反向代理,否则默认访问后端仍然会是http,浏览器访问默认会认为不安全。
如果我们前端使用的是docker的话,会发现改.env文件修改后端服务器协议、地址、端口不会生效,是因为一些配置在docker的镜像中已经写死的。所幸前端还支持源码部署。
开发者在github上是这样写的:
cd web
# 使用高性能的npm
npm install -g pnpm
# 安装依赖
npm install
# 编译发布版本
npm run build
# 启动
npm run start
有点儿小问题,应该是这样:
cd web
# 使用高性能的npm
npm install -g pnpm
# 安装依赖
pnpm install
# 编译发布版本
pnpm run build
# 启动
pnpm run start
如果想修改前端的basePath,可以修改next.config.mjs文件,注意还有一些静态文件里也写死了路径,需要手工更改下。
如果想修改下后端服务地址、协议、端口,直接修改.env文件即可。
这样就可以顺利完成前后端的调整。