# 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等。

1758459669851.png

# 三、协同配置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)》。

1747892980933.png

编辑协同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配置参考截图示例:

1758464061136.png

1758464239444.png

# 6.初始化智能应用并授权(必做)

在完成此前的操作后,需要参考《CoMi应用初始化授权指导手册 (opens new window)》进行智能体应用的初始化和授权,用户才能使用。

# 7.智能问数初始化(按需)

如项目涉及智能问数,并且在进行一体化安装时选择了问数所需的服务data-pulse,postgres,则问数服务会自动安装。一体化安装智能问数后,无需调整Nginx配置,只需要做license授权更新和环境初始化即可使用。

1、安装完成后,从install_info日志文件,能获得问数服务的MAC地址,取此MAC信息从永洪商务侧获取永洪BI的授权license。

1758544877058.png

2、获得永洪BI的license文件后,编辑文件获取里面的授权码,然后通过浏览器访问 http://CoMi Docker服务器IP:8058/report/Viewer,注册授权信息:

1758545667777.png

3、注册授权信息完成后,通过浏览器访问 http://CoMi Docker服务器IP:8058 进行协同驾驶舱BI的初始化,具体可参考 《CoMi V1.1智能问数安装部署手册 (opens new window)》 - 协同驾驶舱部署手册 的 “初始化配置” 章节。

1758545872382.png

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/ 目录:

1758465675589.png


# 五、目录结构说明

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)》中的问题现象和解决方案排查解决。

编撰人:hufei、het