Heygem的win客户端工具配置远程linux的docker18180
由于目前的win客户端不支持配置远程访问地址,可以使用ssh代理到本地端口。
由于win客户端默认处理视频位置为D:\heygem_data,远程的docker需要能访问到,需要在linux搭建nfs服务端,文件夹代理到windows的D:\heygem_data,这样win客户端处理的视频位置,linux远程服务端口就可以访问到。
另外一种方式可以修改源代码,编译源码重新生成安装包
1、修改配置文件src\main\config\config.js
改为为linux服务端的ip地址。
2、修改客户端文件存储位置
export const assetPath = {
model: path.join('Z:','heygem_data', 'face2face', 'temp'), // 模特视频
ttsProduct: path.join('Z:','heygem_data', 'face2face', 'temp'), // TTS 产物
ttsRoot: path.join('Z:','heygem_data', 'voice', 'data'), // TTS服务根目录
ttsTrain: path.join('Z:','heygem_data', 'voice', 'data','origin_audio') // TTS 训练产物
}
3、打包编译 npm run build:win
4、再通过本文章第三段,win挂载nfs到Z盘
一、使用第三方工具SSH
隧道
通过 SSH 隧道实现端口转发,可以使用类似 PuTTY 或 OpenSSH 的工具。
我映射了3个端口18180、10095、8383
使用 OpenSSH 的示例:
安装 OpenSSH 客户端(Windows 10 及以上版本自带)。
打开命令提示符,运行以下命令:
ssh -L 8080:localhost:8080 user@<远程服务器IP>
-L
参数表示本地端口转发。8080:localhost:8080
表示将本地的8080
端口转发到远程服务器的8080
端口。user
是远程服务器的用户名。<远程服务器IP>
是远程服务器的地址。
成功连接后,访问本地的
127.0.0.1:8080
就会通过 SSH 隧道连接到远程服务器的8080
端口。
二、搭建linux的nfs-server
首先需要安装 NFS 服务器所需的软件包。
sudo apt install nfs-kernel-server -y
nfs-kernel-server
是用于提供 NFS 服务的主程序。-y
参数会自动确认安装过程中的提示。
NFS 共享的核心是共享目录。你可以选择一个现有的目录,或者创建一个新的目录。
sudo mkdir -p /srv/nfs_share
设置适当的权限:
sudo chown nobody:nogroup /srv/nfs_share
sudo chmod 777 /srv/nfs_share
注意 :
chmod 777
是为了测试方便,实际生产环境中建议根据需求调整权限。
编辑 /etc/exports
文件,定义哪些目录可以被哪些客户端访问。
sudo nano /etc/exports
添加以下内容:
/srv/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check)
/srv/nfs_share
:共享目录路径。192.168.1.0/24
:允许访问的客户端 IP 段(可以用单个 IP 或子网表示)。rw
:允许读写权限。sync
:同步写入磁盘,保证数据一致性。no_subtree_check
:禁用子树检查,提高性能。
每次修改 /etc/exports
后,需要重新加载 NFS 配置。
sudo exportfs -a
重启 NFS 服务以应用更改:
sudo systemctl restart nfs-kernel-server
三、win上挂载nfs到D:\heygem_data目录下
由于win挂载nfs只能到盘符级别,不能到目录级。所有需要先挂载到盘符,再通过符号链接,将盘符映射到目标目录。
mount \\192.168.1.100\root\HeyGem.ai\deploy\heygem_data Z:
mklink /D D:\heygem_data Z:\
如果需要卸载挂载的 NFS 共享,可以使用以下命令:
umount D:\heygem_data
如果是通过符号链接挂载的,先删除符号链接:
rmdir D:\heygem_data
然后再卸载盘符:
umount Z:
1