# CoMi V1.1基于Docker一体化安装部署
# 一、前置条件
# 1. 系统环境要求
CoMi V1.1有多种部署方式,关于部署方式选择、部署架构图、服务器环境资源要求(配置要求)、插件准备要求、支持协同清单、大模型准备要求等 详见 《CoMi V1.1环境准备指导手册 (opens new window)》,请先完成环境准备再进行本手册部署!
# 2. 资源准备
- 在线安装包(适合可以连外网的服务器,大小:37K):https://cdhx78.seeyon.com:5356/downloads/comi-install.tar.gz
- 离线安装包(适合无法连外网的服务器,大小:6.4G):https://cdhx78.seeyon.com:5356/downloads/comi-install-offline.tar.gz
注意:使用在线安装包需要保证服务器可访问 https://cdhx78.seeyon.com:5356
# 3. Docker环境准备
本方案需要Docker和Docker Compose容器组件,版本要求Docker 26.1.14及以上、Docker Compose 2.27.1及以上,支持x86_64和arm64架构,Linux或信创操作系统。如果当前环境未安装容器组件,安装包会自动安装与版本相匹配的Docker容器组件;如果当前环境已安装Docker和Docker Compose,但不满足版本要求,需要自行手动升级。
# 二、安装步骤
# 1. (必须)操作系统参数初始化
麒麟V10系统需要先删除podman,否则后续安装Docker会失败:
yum remove podman -y
在进行安装部署前,先按照如下配置优化Linux相关系统参数:
预装部署所需的命令:
# Red Hat系列,使用yum命令安装,如当前系统提示yum不可用,则尝试使用apt
yum update
yum install tar curl net-tools unzip vim telnet -y
# 基于Debian的系统(如Ubuntu)使用apt预装组件
sudo apt update
sudo apt install tar net-tools unzip vim telnet -y
# 基于欧拉openEuler、龙蜥Anolis OS等系统使用dnf安装
sudo dnf update
sudo dnf install tar curl net-tools unzip vim telnet -y
修改Linux内核参数:
# 编辑配置文件,并在文件末尾添加参数配置
vim /etc/sysctl.conf
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
# 读取 /etc/sysctl.conf 文件中的设置,使其立即生效
sysctl -p
修改Linux最大进程数最大文件打开数:
通过 vim /etc/security/limits.conf
命令编辑此文件添加以下内容
# open files (-n)
* soft nofile 65535
* hard nofile 65535
# max user processes (-u)
* soft nproc 65535
* hard nproc 65535
以上配置完成,重启操作系统,执行 ulimit -a
命令检查open files是否都变成65535
以下为临时生效方法:
# 设置当前会话中立刻生效
ulimit -n 65535 # 设置最大打开文件数量
ulimit -u 65535 # 设置最大进程数
部署前先关闭selinux:
# 执行如下命令永久关闭
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
# 重启操作系统生效
sudo reboot
# 临时禁用(免重启),临时验证关闭效果可用此法,如果确认关闭有效,务必永久关闭
sudo setenforce 0
# 2. 安装包解压及配置文件准备
以下为安装包上传准备操作:
# 创建安装目录
mkdir -p /data/Seeyon/Comi
cd /data/Seeyon/Comi
# 下载在线安装包 或者 自行下载离线包comi-install-offline.tar.gz,放/data/Seeyon/Comi目录下
wget https://cdhx78.seeyon.com:5356/downloads/comi-install.tar.gz
# 方案一(二选一):在线安装包解压命令
tar -zxvf comi-install.tar.gz
# 方案二(二选一):离线安装包解压命令
tar -zxvf comi-install-offline.tar.gz
# 进入安装目录
cd comi-install
# 创建配置文件(.env.example是隐藏文件)
cp .env.example .env
# 编辑.env配置文件
vim .env
# 3. 编辑配置文件
关于.env
文件,原则上只需调整如下三个参数,其余参数均可保持默认:
- V5_ADDRESS:需要填写协同服务器IP和端口,Nginx配置协同代理地址使用,如果其它服务器已安装Nginx,则无需调整填写参数值
- NGINX_ADDRESS:如果其它服务器已安装Nginx,则需要将地址调整成其它服务器NG代理OA的地址;如需使用本服务器自动安装NG,则参数值保持默认
- COMPOSE_PROFILES:可选安装服务,如果其它服务器已安装Nginx,则可以去掉nginx(无需本机安装);如无需智能问数,则可以去掉data-pulse,postgres
# 协同服务器IP端口,无需HTTP前缀,非NG代理地址,格式如192.168.180.150:80
export V5_ADDRESS=192.168.188.161:80
# Nginx服务器访问地址,如果安装包含nginx则不需要改动,如果不安装nginx时才需调整
export NGINX_ADDRESS=http://comi-nginx:80
# 可选安装服务,默认全量安装,如已有Nginx可删除nginx,如无需智能问数可删除,data-pulse,postgres
export COMPOSE_PROFILES="nginx,data-pulse,postgres"
# 4. 执行安装
在 /data/Seeyon/Comi/comi-install
目录下执行install.sh安装:
cd /data/Seeyon/Comi/comi-install
# 运行安装脚本
bash install.sh
安装程序会检测当前服务器是否安装Docker,如未安装会自动安装Docker及Docker compose组件,如使用在线安装包,确保服务器能访问外网!
安装日志会输出到控制台,并且在安装目录下生成一份install_info日志文件,可以取日志文件获得详细信息。比如如何在协同OA侧进行参数配置,如何获取MAC地址申请协同驾驶舱高级版(永洪BI)的license等。
# 三、协同配置CoMi
# 1. CoMi Nginx配置
Comi依赖Nginx反向代理,需要确保Comi和协同OA使用相同Nginx进行代理管理。
如使用当前安装工具自动安装Nginx,NG的配置存放于comi-install/config/nginx
目录,并且nginx.conf无需做任何调整,直接开箱即用。后续只需通过服务器的80端口即可访问协同OA。
如果Nginx部署在其它服务器,则严格参考《CoMi Nginx安装和配置 (opens new window)》 进行配置调整。
# 2. 修改协同配置
完成Nginx相关配置后,确保协同OA处于启动状态,然后通过浏览器访问Nginx代理地址检查能否访问协同登录页面。
注意:CoMi依赖指定的协同版本,并且加密狗需要提前注册更新CoMi所需插件授权,详见《CoMi V1.1环境准备指导手册 (opens new window)》。
编辑协同OA部署目录下的 base/conf/plugin.properties
文件,编辑完成后重启协同服务:
# Nginx代理地址
ai.comibuilderServer=http://[Nginx地址]/seeyon/ai-platform/ai-manager/assistant/info/getAllRightsAssistant
# AI Manager服务地址
ai.managerUrl = http://[CoMi服务器IP]:[CoMi服务端口]/ai-manager
# 上述安装过程中会生成API Key,可使用该API Key也可从CoMi Builder获取
ai.comi.apikey = [API Key]
# 3. 修改全文检索配置(非必须)
此步仅使用协同知识问答的原型客户需要配置:
编辑全文检索服务目录下的 Searchservice/config/application.properties
,编辑完成后重启全文检索:
# CoMi服务地址
comi.server.url = http://[CoMi服务器IP]:[CoMi服务端口]/
# 上述安装过程中会生成API Key,可使用该API Key也可从CoMi Builder获取
comi.server.api.key = [API Key]
# 全量同步配置
comi.index.sync.datas.size = 100
comi.index.sync.thread.min.size = 1
comi.index.sync.thread.max.size = 2
comi.index.again.sync = 1
comi.index.again.sync.from.id = 0
# 同步节点配置
comi.isSyncNode = true
# 4.初始化模型
此步必做,参考《CoMi模型配置操作手册 (opens new window)》进行CoMi依赖的模型参数配置和默认模型设置。
# 5.修改ai-engine服务Embedding配置
完成模型初始化后,需要修改ai-engine服务的配置参数,设置默认的Embedding模型信息:
cd /data/Seeyon/Comi/comi-install/config/ai-engine
vim .env_llm.yaml
需要将.env_llm.yaml文件中的embedding_model
参数值改成上一步设置的Embedding模型的“模型标识”信息。
参数调整完成后执行 docker restart comi-engine
命令重启服务使配置生效。
Embedding配置参考截图示例:
# 6.初始化智能应用并授权(必做)
在完成此前的操作后,需要参考《CoMi应用初始化授权指导手册 (opens new window)》进行智能体应用的初始化和授权,用户才能使用。
# 7.智能问数初始化(按需)
如项目涉及智能问数,并且在进行一体化安装时选择了问数所需的服务data-pulse,postgres
,则问数服务会自动安装。一体化安装智能问数后,无需调整Nginx配置,只需要做license授权更新和环境初始化即可使用。
1、安装完成后,从install_info日志文件,能获得问数服务的MAC地址,取此MAC信息从永洪商务侧获取永洪BI的授权license。
2、获得永洪BI的license文件后,编辑文件获取里面的授权码,然后通过浏览器访问 http://CoMi Docker服务器IP:8058/report/Viewer
,注册授权信息:
3、注册授权信息完成后,通过浏览器访问 http://CoMi Docker服务器IP:8058
进行协同驾驶舱BI的初始化,具体可参考 《CoMi V1.1智能问数安装部署手册 (opens new window)》 - 协同驾驶舱部署手册 的 “初始化配置” 章节。
4、初始化完成后,具体配置智能问数,可参考 《CoMi V1.1智能问数安装部署手册 (opens new window)》 中的使用手册。
# 四、日常维护
# 1. 查看服务状态
# 查看所有容器状态,所有服务处于UP状态表示服务正常
docker ps -a
# 查看服务日志
docker logs -f [容器名称]
# 2. 启停所有服务
# 启动所有服务
cd /data/Seeyon/Comi/comi-install
docker compose start 或 docker-compose start
# 停止所有服务
cd /data/Seeyon/Comi/comi-install
docker compose stop 或 docker-compose stop
# 重启所有服务
cd /data/Seeyon/Comi/comi-install
docker compose restart 或 docker-compose restart
# 3. 启停单个服务
容器名称 | 服务说明 |
---|---|
comi-mysql | MySQL数据库 |
comi-nginx | Nginx代理 |
data-pulse | BI服务 |
comi-builder | CoMi Builder服务 |
comi-engine | CoMi Engine服务 |
comi-security | CoMi Security服务 |
comi-server | CoMi Server服务 |
comi-pg | PostgreSQL数据库 |
comi-qdrant | 向量数据库 |
# 启动单个服务
docker start comi-mysql
# 停止单个服务
docker stop comi-nginx
# 重启单个服务
docker restart comi-builder
# 4. 查看comi服务日志
comi服务日志存放于 comi-install/volumes
卷目录下,如ai-manager异常日志存放于 comi-install/volumes/ai-manager/logs/error/
目录:
# 五、目录结构说明
comi-install/
├── config/ # 配置文件目录
│ ├── mysql/ # MySQL初始SQL
│ ├── nginx/ # Nginx配置
│ ├── ai-manager/ # CoMi Builder配置
│ ├── comi-server/ # CoMi Server配置
│ ├── ai-engine/ # CoMi Engine配置
│ ├── ai-security/ # CoMi Security配置
│ └── data-pulse/ # DataPulse配置
├── volumes/ # 各服务日志目录
# 数据卷说明:
comi-install_mysql-data
:MySQL数据库数据comi-install_postgres-data
:PostgreSQL数据库数据comi-install_qdrant-data
:Qdrant向量数据库数据comi-install_data-pulse-data
:BI程序数据comi-install_comi-builder-data
: CoMi Builder程序数据comi-install_comi-engine-data
: CoMi Engine程序数据 可通过docker volume inspect [卷名]
命令查看数据所在目录。
# 查看数据库数据卷所在的目录
docker volume inspect comi-install_mysql-data
# 卸载一体化安装服务
如需彻底删除卸载本机Docker镜像服务,参考如下方式(慎重操作:确保本机仅存在CoMi镜像,如存在第三方镜像会被一并卸载):
cd /data/Seeyon/Comi/comi-install/
docker compose down -v
# 删除docker中的comi images(如当前服务器docker还被别的服务使用,需要慎重)
docker rmi $(docker images -q)
# 备份comi-install
cd /data/Seeyon/Comi/
mv comi-install bak-comi-install
rm -rf ./bak-comi-install
# 常见问题
如部署配置过程中遇到异常,参考《CoMi部署配置常见异常解决方案 (opens new window)》中的问题现象和解决方案排查解决。
快速跳转
