私有化部署元景万悟智能体平台

项目地址


推荐配置


  • CPU:8核或16核
  • 内存:32G
  • 硬盘200G以上
  • GPU:不需要

实验环境信息


主机名 配置 操作系统 私网IP地址 公网IP地址
ecs-wanwu 16核32G系统盘300G Ubuntu 24.04.4 LTS 192.168.1.59 218.104.255.63

环境准备


修改DNS

编辑/etc/systemd/resolved.conf文件,修改DNS配置。找到[Resolve]部分,取消DNS=行的注释并填入你的DNS服务器地址(多个地址用空格分隔),保存退出

1
2
[Resolve]
DNS=223.5.5.5 223.6.6.6

执行以下命令重启服务生效

1
sudo systemctl restart systemd-resolved

更新apt源

执行以下命令更新apt源

1
sudo apt update

安装基础软件包

执行以下命令安装基础软件包

1
sudo apt install iputils-ping bind9-dnsutils git iptables net-tools -y

安装Docker


二进制包下载地址:https://download.docker.com/linux/static/stable/

到对应平台的目录下载所需版本的Docker二进制包,并上传到/root目录下(本文以x86平台下的29.8.1为例),然后执行以下命令安装Docker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 解压并拷贝二进制文件到对应目录下
cd /root/
tar zxf docker-29.8.1.tgz
chmod 755 docker/*
cp -a docker/* /usr/bin/

# 创建Docker的Service文件
cat > /usr/lib/systemd/system/docker.service << EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP \$MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process

[Install]
WantedBy=multi-user.target
EOF

# 配置Cgroup驱动程序和镜像加速器
mkdir -p /etc/docker
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["https://lerc8rqe.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

# 设置Docker开机自启并启动
systemctl daemon-reload
systemctl start docker
systemctl enable docker
systemctl status docker

安装Docker Compose


下载所需版本的Docker Compose二进制包,并上传到/root目录下(本文以x86平台下的v5.5.1为例),然后执行以下命令安装Docker Compose

1
2
3
4
5
6
cd /root/
mv docker-compose-linux-x86_64 docker-compose
mkdir -p /usr/libexec/docker/cli-plugins
cp -a docker-compose /usr/libexec/docker/cli-plugins/
chmod +x /usr/libexec/docker/cli-plugins/docker-compose
docker compose

安装元景万悟智能体平台


拉取代码

执行以下命令拉取元景万悟智能体平台项目代码

1
2
cd /root/
git clone https://github.com/UnicomAI/wanwu.git

说明
上述命令会自动拉取最新版本的项目代码,如果需要安装特定版本,可到https://github.com/UnicomAI/wanwu/releases下载对应版本的项目代码

首次运行前

拷贝环境变量文件

1
2
cd /root/wanwu/
cp .env.example .env

根据系统修改.env文件中的WANWU_ARCH、WANWU_EXTERNAL_IP变量

1
2
3
4
5
# amd64 / arm64
WANWU_ARCH=amd64

# external ip port(注意如果需要浏览器访问非localhost部署的万悟,则需要修改localhost为对外ip,例如192.168.xx.xx)
WANWU_EXTERNAL_IP=192.168.1.59

配置.env文件中的WANWU_BFF_JWT_SIGNING_KEY变量,一串自定义复杂随机字符串,用于生成jwt token

1
2
# bff
WANWU_BFF_JWT_SIGNING_KEY=

拷贝【本体智能体】环境变量文件

1
2
cd /root/wanwu/
cp .env.ontology.example .env.ontology

(可选)生成【本体智能体】自定义RSA密钥

说明
不执行本步则使用镜像内置的默认密钥;如需在生产环境使用独立密钥,按以下步骤生成
生成RSA密钥对

1
./configs/microservice/ontology/vega-server/generate-keys.sh configs/microservice/ontology/vega-server

安装Node环境

1
sudo snap install node --classic

生成前端公钥配置

1
node configs/microservice/ontology/vega-server/generate-public-key-js.js

创建Docker运行网络

1
docker network create wanwu-net

启动服务

说明
首次运行会自动从Docker Hub拉取镜像,有部分镜像例如mysql:8.0.37、redis:7.0.15、docker.elastic.co/elasticsearch/elasticsearch:8.12.2要从国外拉取,由于网络原因可能会拉取失败导致启动命令报错退出,建议利用https://github.com/tech-shrimp/docker_image_pusher该项目将国外的Docker镜像转存到阿里云私有仓库,然后拉取到服务器并修改tag后再启动服务

1
2
3
4
# amd64系统执行:
docker compose --env-file .env --env-file .env.ontology --env-file .env.image.amd64 up -d
# arm64系统执行:
docker compose --env-file .env --env-file .env.ontology --env-file .env.image.arm64 up -d

登录系统

访问链接为http://IP:8081,默认用户admin,默认密码Wanwu123456

关闭服务

1
2
3
4
# amd64系统执行:
docker compose --env-file .env --env-file .env.ontology --env-file .env.image.amd64 down
# arm64系统执行:
docker compose --env-file .env --env-file .env.ontology --env-file .env.image.arm64 down