AI大模型学习三十三、HeyGem.ai 服务端(ubuntu)docker 安装 /客户端(win)分离部署
一、说明
服务端安装官方安装
客户端在windows 上安装
解决分离问题
利用samba实现共享,我是在局域网访问,安装道理可以在非局域网访问
重新弄了一块显卡,所以驱动也重新装下
二、环境准备
(base) mucuna@x58:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 25.04
Release: 25.04
Codename: plucky
heygem: 18180 和 8383
samba :445
三、显卡驱动安装
sudo apt install nvidia-driver-570
安装完后重启,然后nvidia-smi查看
四、安装docker与docker composer
sudo apt update && sudo apt install -y docker.io
sudo systemctl enable --now docker
将当前用户加入 Docker 组
sudo usermod -aG docker $USER
newgrp docker # 立即生效或重新登录
sudo tee /etc/docker/daemon.json <<EOF
{"registry-mirrors" : ["https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc",
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://dockerproxy.com",
"https://gst6rzl9.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"http://mirrors.ustc.edu.cn/",
"https://mirrors.tuna.tsinghua.edu.cn/",
"http://mirrors.sohu.com/"
],"insecure-registries" : ["registry.docker-cn.com","docker.mirrors.ustc.edu.cn"],
"debug": true,
"experimental": false
}
EOF
sudo systemctl restart docker
# 下载静态编译的 docker-compose(x86_64 示例)
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
五、安装nvida工具包
# 安装
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit# 运行命令自动配置docker、 可留意执行命令前后/etc/docker/daemon.json 的文件内容
sudo nvidia-ctk runtime configure --runtime=docker# 重启docker
sudo systemctl restart docker
六、安装samba
1、安装
sudo apt update
sudo apt install samba
sudo cp /etc/samba/smb.conf{,_default}sudo cat <<'EOF' | sudo tee /etc/samba/smb.conf
[global]smb ports = 445workgroup = WORKGROUPserver string = %h server (Samba, Ubuntu)log file = /var/log/samba/log.%mmax log size = 1000logging = filepanic action = /usr/share/samba/panic-action %dserver role = standalone serverobey pam restrictions = yesunix password sync = yespasswd program = /usr/bin/passwd %upasswd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .pam password change = yesmap to guest = bad userusershare allow guests = yes
[heygem_data]
path = /data/program/
writable = yes
browsable = yes
guest ok = no
valid users = ubuntu
create mask = 0755
directory mask = 0755
EOF
# 创建heygem_data目录、并给777权限、
mkdir -p /data/program/heygem_data
chmod 777 -R /data/program/heygem_data# 如果没有ubuntu用户、 则需要新建一个、
useradd ubuntu -s /sbin/nologin ubuntu# 为 Samba 添加用户、 并配置密码、 !!! 记住这个密码、 一会windows上挂载samba需要、
smbpasswd -a ubuntu# 检查是否成功添加用户、可以查看 Samba 用户列表、、
sudo pdbedit -L# 验证 Samba 配置是否正确、
testparm# 查看共享状态、
smbstatus# 启动samba服务、
sudo systemctl enable --now smbd
sudo systemctl enable --now nmbd
2、挂载服务器samba到Z驱动器
打开我的电脑, 右键此电脑, 选择 映射网络驱动器
, 到驱动器选择Z
, 文件夹填写 \\192.168.1.111\heygem_data
, 会提示输入账号密码,
会出错喔
win+R 输入gpedit.msc
我的是连接成功了,上面就应该只有Z,当然也可以选别的,和后面前端设置一样就可
七、 安装node
sudo apt update
sudo apt install nodejs npm# 配置npm加速
npm config set registry http://registry.npmmirror.com
八、部署heygem服务器端
# 克隆项目
mkdir -p /data/program
cd /data/program
git clone https://github.com/duixcom/Duix.Heygem.git# 修改容器挂载路径、
cd /data/program/Duix.Heyge/deploy
sed -i 's#~#/data/program#g' docker-compose-linux.yml# 启动服务端
docker compose -f docker-compose-linux.yml up -d
九、heygem前端客户端
cd /data/program/Duix.Heyge# 更换客户端信息、、
# 更换盘符信息、默认是D盘、改成Z盘、
# 感谢<可以但没必要> 指正、之前这里没有加-i参数、不会实际修改文件内容、、
sed -i 's#D:#Z:#g' src/main/config/config.js# !!! 注意替换x.x.x.x为你云服务器的外网IP、
# 总之要保证客户端能通过这个地址、访问你部署在ubuntu中docker部署的heygem后端服务、、
sed -i 's/127.0.0.1/192.168.1.111/g' src/main/config/config.js# 修改package.json, 添加 -- --no-sandbox,
# 否则会报错: [0327/165731.077480:FATAL:electron_main_delegate.cc(287)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
# vim package.json # 修改如下行、
# "start": "electron-vite preview -- --no-sandbox",# 修改electron-builder.yml, 否则编译的exe启动时会报错:
sed -i 's/npmRebuild: false/npmRebuild: true/g' electron-builder.yml# 安装编译exe的依赖包,
sudo apt update
sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install wine32 wine64# 安装依赖
sudo npm install# 构建exe文件
sudo npm run build:win# windows的安装包路径,查查
dist/HeyGem-1.0.4-setup.exe
#正好用用sabma 看行不行
sudo cp dist/HeyGem-1.0.4-setup.exe /data/program/heygem_data
十、测试
明天来,还在下载