TeGo-AI 体验版单服务器部署文档
本文档定位为单服务器模式下的体验部署操作指南,旨在为技术人员提供简化的部署配置参考。其核心价值在于通过整合服务部署流程降低部署复杂度,适用于资源有限的内部测试环境搭建与 POC(概念验证)验证场景。
服务分布
单服务器部署架构中,所有服务集中部署于同一节点,通过资源合理分配保障系统基础功能稳定运行。服务部署矩阵清晰呈现各服务的部署策略、核心作用,为系统运维与故障排查提供参考。
服务部署矩阵
服务层级 | 服务名称 | 部署节点 | 核心作用 |
---|---|---|---|
负载均衡层 | tego-proxy | 单节点部署 | 统一负载均衡,分发请求到业务节点 |
业务服务层 | tego-os | 单节点部署 | 前端统一操作界面 |
tego-os-server | 单节点部署 | 后端API服务 | |
tego-mcp | 单节点部署 | MCP服务,实现向量搜索等功能 | |
tego-llm | 单节点部署 | LLM网关服务 | |
tego-engine-main | 单节点部署 | 工作流主控节点 | |
tego-engine-worker | 单节点部署 | 工作流执行节点 | |
基础设施层 | postgres | 单节点部署 | 数据库服务,存储业务核心数据 |
redis | 单节点部署 | 缓存/消息队列服务,提升数据访问性能 | |
openldap | 单节点部署 | 统一认证服务,管理用户身份与权限 | |
embedding | 单节点部署 | AI嵌入服务,生成与存储向量数据 |
服务分布核心原则
- 集中部署高效利用资源:所有服务部署于单一服务器,通过 Docker 容器隔离实现资源按需分配,减少节点间通信开销,简化部署与维护流程。
- 核心服务稳定性优先:基础设施层服务(如 postgres、redis)采用本地数据持久化策略,保障核心数据不丢失,业务服务通过容器自重启机制提升可用性。
环境配置
硬件配置
单服务器需承载所有服务,需要 1 台服务器即可,硬件配置需满足综合资源需求,预留一定冗余保障系统稳定。具体硬件参数如下:
服务器硬件参数表
服务器节点 | 系统 | 核心 | 内存 | 存储 | 部署服务详情 | 开放端口 |
---|---|---|---|---|---|---|
single-node | Linux | 4核 | 4GB | 50GB | 业务服务:tego-os, tego-os-server, tego-llm, tego-mcp, tego-proxy, tego-engine-main×1, tego-engine-worker×1 基础服务:postgres, redis, openldap, embedding |
1. 外部访问:26000,27000,30000,31000 2. 内部通信:22,5432,6379,389,11434,29000 3. 管理端口:5678 |
网络配置
单服务器部署仅需配置独立IP地址,确保网络通畅即可。假设服务器配置如下IP:
- 节点IP:192.168.1.10
需确保服务器网络正常,可通过以下命令验证外网连通性(如需下载安装包):
ping www.baidu.com -c 4
端口配置
端口划分为 外部访问端口
(面向用户或外部系统)和 内部通信端口
(服务间通信),配置如下:
外部访问端口
端口 | 服务名称 | 访问说明 | 安全建议 |
---|---|---|---|
26000 | tego-os | 前端Web界面 | 配置HTTPS + 基于IP的访问控制列表 |
27000 | tego-mcp | MCP服务接口 | 部署API网关 + JWT令牌认证 |
29000 | tego-os-server | 后端API服务 | 仅允许前端服务(26000端口)访问 |
30000 | tego-proxy | 工作流负载均衡 | 仅允许外部负载均衡器(LB)访问 |
31000 | tego-llm | LLM网关服务 | API网关 + 访问频率限制 |
内部通信端口
端口 | 服务名称 | 访问说明 |
---|---|---|
5432 | postgres | 数据库服务,仅允许业务服务访问 |
6379 | redis | 缓存服务,仅允许业务服务访问 |
389 | openldap | 身份认证服务,仅允许业务服务访问 |
11434 | embedding | 向量嵌入服务,仅允许业务服务访问 |
22 | SSH | 远程管理端口 |
详细部署步骤
通用环境准备
注意:所有操作在单节点服务器上执行,按系统初始化→Docker安装→镜像加载
顺序进行。
系统初始化
- 依赖包安装
apt update && apt install -y bzip2 gzip rsync coreutils iptables
Docker安装
# 下载离线Docker安装包(版本24.0.9)
wget https://zhama-public.oss-cn-heyuan.aliyuncs.com/base/offline-docker-24.0.9.tar.gz
# 解压并执行安装脚本
tar xf offline-docker-24.0.9.tar.gz
cd offline-docker-24.0.9
bash install.bash
# 验证安装
docker --version # 需输出 Docker version 24.0.9+
docker compose version # 需输出 Docker Compose version v2.19+
镜像加载
# 注:文件比较大,有好几个G,所以以下的操作会比较耗时,请耐心等等...
# 下载TeGo全量镜像包
wget https://zhama-public.oss-cn-heyuan.aliyuncs.com/tego-all-images-v1.6.0.tar.bz2
# 解压文件,由于文件比较大,解压比较耗时,请耐心等等...
bzip2 -d tego-all-images-v1.6.0.tar.bz2
# 加载镜像
docker load -i tego-all-images-v1.6.0.tar
验证镜像加载情况
docker images | grep tego
# 输出以下信息代表镜像加载成功
ghcr.io/zhama-ai/tego-os v1.6.0 d0df873dc367 7 days ago 332MB
ghcr.io/zhama-ai/tego-llm v1.6.0 47ab885a9415 8 days ago 201MB
ghcr.io/zhama-ai/tego-os-server v1.6.0 0cb56e5d462a 9 days ago 208MB
ghcr.io/zhama-ai/tego-engine v1.6.0 9c1c0a146254 9 days ago 991MB
ghcr.io/zhama-ai/tego-mcp v1.6.0 b80b6ea963b9 10 days ago 2.04GB
加载配置
# 下载部署配置压缩包
wget https://zhama-public.oss-cn-heyuan.aliyuncs.com/tego-deploy-v1.6.0.tar
# 解压部署文件
tar xvf tego-deploy-v1.6.0.tar
# 进入部署根目录,后续操作均在此目录执行
cd product
配置核心参数
setup.sh
脚本支持通过命令行参数配置IP地址,无需手动编辑配置文件:
参数 | 说明 | 默认值 | 示例值 |
---|---|---|---|
-i, --internal-ip |
服务器内网IP | 192.168.1.10 | 192.168.1.10 |
-e, --external-ip |
服务器外网IP | 47.120.69.7 | 47.120.69.7 |
-h, --help |
显示帮助信息 | - | - |
生成的配置变量:
配置项 | 说明 | 生成规则 |
---|---|---|
MASTER_HOST_IP_INTERNAL | 服务器内网IP | 使用 --internal-ip 参数 |
MASTER_TEGO_EMBEDDING_URL | Embedding模型服务URL(使用内网IP) | http://内网IP:11434/v1 |
MASTER_TEGO_ENGINE_URL | 引擎服务URL(外网IP/域名) | http://外网IP:30000 |
MASTER_TEGO_LLM_URL | 网关服务URL(外网IP/域名) | http://外网IP:31000 |
MASTER_TRUSTED_URL | 平台服务URL(外网IP/域名) | http://外网IP:26000 |
MASTER_ORIGIN_HOST | 平台域名(外网IP/域名) | 外网IP |
注意:请根据您的实际网络环境使用相应的IP地址参数
单节点服务部署
步骤1:生成配置文件
使用 setup.sh
脚本配置并生成环境变量文件。脚本支持命令行参数,无需手动编辑:
# 使用自定义IP地址
./setup.sh -i <服务器内网IP> -e <服务器外网IP>
# 示例:
./setup.sh -i 192.168.1.10 -e 47.120.69.7
脚本将自动生成配置文件。
步骤2:启动基础设施服务
启动LLM服务:
cd infrastructure/llm
docker compose up -d
启动Master基础服务:
cd ../master
docker compose up -d
执行初始化脚本(配置PostgreSQL,需传入服务器外网IP):
# 语法:bash master-init.sh <PostgreSQL复制密码> <服务器外网IP>
bash master-init.sh your_replication_password 47.120.69.7
重启基础服务,确保初始化生效:
docker compose down && docker compose up -d
cd ../.. # 返回product根目录
步骤3:启动业务服务
启动业务服务集群(包含前端、后端、AI网关等核心服务):
cd host1
docker compose up -d
cd .. # 返回product根目录
验证节点状态
- 查看所有容器运行状态(需全部显示
Up
):
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
- 查看服务日志(无报错即正常):
# 查看基础服务日志
docker compose -f infrastructure/master/docker-compose.yml logs
# 查看业务服务日志
docker compose -f host1/docker-compose.yml logs
部署验证
端口访问验证
# 验证前端服务,应返回HTML内容
curl http://<服务器IP>:26000
# 验证引擎服务健康检查,应返回"ok"
curl http://<服务器IP>:30000/health
# 验证Embedding服务,应返回API文档
curl http://<服务器IP>:11434/v1
数据库连接验证
# 进入PostgreSQL容器
docker exec -it infrastructure-master-postgres-1 bash
# 连接数据库验证
psql -U postgres
# 输入\q退出
访问系统
部署完成后,通过以下链接访问系统:http://<服务器IP>:26000