The issue for deployment on Linux system(Ubuntu 22)
To be honest, the official guide is not readable.
1.My environment: 1)OS = "Ubuntu 22.04.5 LTS" with desktop environment 2)My GPU = NVIDIA A10G 24GB
2.What I have done: 1)Install HeyGem Server I went through following link to install HeyGem Server side, due to the version of HeyGem I use is with linux support, I didn't need to change some configuration file. I installed ffmpeg via sudo apt install ffmpeg -y, but I didn't change any other thing regarding ffmpeg mentioned in the link. https://zhuanlan.zhihu.com/p/32359775701
2)The services status: `ubuntu@ip-10-220-11-218:~/HeyGem.ai/deploy$ sudo docker compose -f docker-compose-linux.yml ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS heygem-asr guiji2025/fun-asr "sh /run.sh" heygem-asr 27 hours ago Up 15 hours 0.0.0.0:10095->10095/tcp, [::]:10095->10095/tcp
heygem-gen-video guiji2025/heygem.ai "python /code/app_lo…" heygem-gen-video 27 hours ago Up 15 hours 22/tcp, 80/tcp, 0.0.0.0:8383->8383/tcp, [::]:8383->8383/tcp
heygem-tts guiji2025/fish-speech-ziming "/opt/nvidia/nvidia_…" heygem-tts 27 hours ago Up 15 hours 0.0.0.0:18180->8080/tcp, [::]:18180->8080/tcp`
3)I run client on my ubuntu desktop through VNC
cd HeyGem.ai; npm run start
Once I tried to upload video through 快速定制, I got following error:
"Error: spawn /home/ubuntu/HeyGem.ai/node_modules/electron/dist/resource/app.asar.unpacked/resources/ffmpeg/linux-amd64/ffprobe ENOENT"
log:
more /home/ubuntu/.config/heygem.ai/logs/main.log
There is no obvious error.
In addition, I also download HeyGem-1.0.4.AppImage (https://github.com/GuijiAI/HeyGem.ai/releases/download/v1.0.4/HeyGem-1.0.4.AppImage)
I executed this file, It's still with issue.
I tried to upload video through 快速定制, upload video without error, once I clicked "提交定制", I got following error:
Error: Error invoking remote method 'model/addmodel': TypeError: SQLite3 can only bind nubers,strings,bigints,buffers,and null
log:
more /home/ubuntu/.config/heygem.ai/logs/main.log
`2025-04-20 15:05:29 [debug] [SQL Get]: SELECT COUNT() as total FROM f2f_model WHERE name like '%%' []
2025-04-20 15:05:29 [debug] [SQL All]: SELECT * FROM f2f_model WHERE name like '%%' ORDER BY created_at DESC LIMIT 10 OFFSET 0 []
2025-04-20 15:05:29 [debug] [SQL Get]: SELECT COUNT() as total FROM f2f_model WHERE name like '%%' []
2025-04-20 15:05:39 [debug] ENV: production-linux
2025-04-20 15:05:39 [info] FFmpeg path: /tmp/.mount_HeyGem8uhfsu/resources/app.asar.unpacked/resources/ffmpeg/linux-amd64/ffmpeg
2025-04-20 15:05:39 [info] FFprobe path: /tmp/.mount_HeyGem8uhfsu/resources/app.asar.unpacked/resources/ffmpeg/linux-amd64/ffprobe
2025-04-20 15:05:39 [info] [DB] Connected: /home/ubuntu/.config/heygem.ai/biz.db
2025-04-20 15:05:39 [debug] [SQL Get]: select val from context where key = ? [ 'db_version' ]
2025-04-20 15:05:40 [debug] [SQL Get]: select val from context where key = ? [ 'lang' ]
2025-04-20 15:05:40 [debug] [SQL Run]: update context set val = ? where key = ? [ 'zh', 'lang' ]
2025-04-20 15:05:40 [debug] [SQL Get]: select val from context where key = ? [ 'is_agree' ]
2025-04-20 15:05:40 [debug] [SQL Get]: SELECT COUNT() as total FROM f2f_model WHERE name like '%%' []
2025-04-20 15:05:40 [debug] [SQL All]: SELECT * FROM f2f_model WHERE name like '%%' ORDER BY created_at DESC LIMIT 10 OFFSET 0 []
2025-04-20 15:05:40 [debug] [SQL Get]: SELECT COUNT() as total FROM f2f_model WHERE name like '%%' []
2025-04-20 15:08:33 [info] audio split done 2025-04-20 15:08:33 [debug] ~ preprocessAndTran ~ param: {"format":"wav","reference_audio":"origin_audio/20250420150832846.wav","lang":"zh"} 2025-04-20 15:08:33 [debug] ~ train ~ res: { code: -1, msg: 'file not exists' } 2025-04-20 15:08:33 [debug] [SQL Run]: INSERT INTO f2f_model (name, video_path, audio_path, voice_id, created_at) VALUES (?, ?, ?, ?, ?) [ 'test', '20250420150832846.mp4', 'origin_audio/20250420150832846.wav', false, 1745161713177 ] 2025-04-20 15:08:42 [info] audio split done 2025-04-20 15:08:42 [debug] ~ preprocessAndTran ~ param: {"format":"wav","reference_audio":"origin_audio/20250420150841939.wav","lang":"zh"} 2025-04-20 15:08:42 [debug] ~ train ~ res: { code: -1, msg: 'file not exists' } 2025-04-20 15:08:42 [debug] [SQL Run]: INSERT INTO f2f_model (name, video_path, audio_path, voice_id, created_at) VALUES (?, ?, ?, ?, ?) [ 'test', '20250420150841939.mp4', 'origin_audio/20250420150841939.wav', false, 1745161722020 ] 2025-04-20 15:08:48 [info] audio split done 2025-04-20 15:08:48 [debug] ~ preprocessAndTran ~ param: {"format":"wav","reference_audio":"origin_audio/20250420150847938.wav","lang":"zh"} 2025-04-20 15:08:48 [debug] ~ train ~ res: { code: -1, msg: 'file not exists' } 2025-04-20 15:08:48 [debug] [SQL Run]: INSERT INTO f2f_model (name, video_path, audio_path, voice_id, created_at) VALUES (?, ?, ?, ?, ?) [ 'test', '20250420150847938.mp4', 'origin_audio/20250420150847938.wav', false, 1745161728018 ] `
BTW: I have tried to install entire version on windows(Windows server 2019, 2022; Windows 10), they are all with issue. The root issue is that my machines is Virtual Machine on cloud, they require Hyper-V(virtual machine platform), I can't provide nested virtualization environment.
res: { code: -1, msg: 'file not exists' }
After looking at the log, it prompts "file not exists". It should be a directory mounting issue. Could you take a look at the mounting configurations of the three services