首页 产品 为什么选 OCTO 解决方案 文档 关于
文档中心 / 售前与交付 / 私有化部署 Checklist
← 返回文档中心

私有化部署 Checklist

OCTO 文档中心 · 售前与交付

  • 03-deployment-ops/单机Docker部署SOP-v1.0.md
  • 03-deployment-ops/Kubernetes-Helm部署SOP-v1.0.md
  • 03-deployment-ops/网络端口与防火墙清单-v1.0.md
  • 03-deployment-ops/环境变量配置参考-v1.0.md
  • 03-deployment-ops/生产资源规格建议-v1.0.md
  • 03-deployment-ops/Nginx反向代理配置清单-v1.0.md
  • 03-deployment-ops/MinIO-Bucket与数据管理-v1.0.md
  • 03-deployment-ops/DockerCompose离线部署指南-v1.0.md
  • 03-deployment-ops/升级与版本迁移指南-v1.0.md
  • 03-deployment-ops/监控与日志配置指南-v1.0.md
  • 03-deployment-ops/内部模块Profile开启指南-v1.0.md

OCTO 私有化部署 Checklist v1.0

本文档为 OCTO 私有化交付全流程检查清单,按"交付前→交付中→交付后"三阶段组织,供交付工程师和客户方运维逐项核对。每项均给出期望结果、验证方式和参考文档,不重复详细操作步骤。

部署形态选择:Docker Compose 单机(<200人/PoC)或 Kubernetes Helm(≥200人/高可用)。本文档以 Docker Compose 为主线,K8s 差异处标注。

使用方法:每项实际结果填写 ☐(未完成)/ ✅(通过)/ N/A(不适用),并在备注栏记录实际值或问题。


一、交付前 Checklist(客户环境准备)

目标:确认客户环境满足部署前提,收集必要信息,准备镜像和安装包。

1.1 服务器资源核验

参考:《生产资源规格建议-v1.0》§2-§4

# 检查项 期望结果 验证方式 参考文档 实际结果 备注
1.1.1 确定用户规模档位 选定 S/M/L/XL 档(🔴均为经验估算无官方证据,实际需压测验证) 与客户确认注册/并发/消息量预估;🔴售前不得将档位人数作为承诺报出(PS-06) 生产资源规格§2(含PS-06纠偏注) ☐ 档:__ 人
1.1.2 CPU 核数满足档位要求 S≥4核 / M≥8核 / L≥16核 / XL≥32核 nproc 或 lscpu 生产资源规格§3.1 ☐ __核
1.1.3 内存满足档位要求 S≥8GiB / M≥16GiB / L≥32GiB / XL≥64GiB free -h 生产资源规格§3.1 ☐ __GiB
1.1.4 系统盘空间 S≥100GiB / M≥200GiB / L≥500GiB / XL≥1TiB SSD df -h / 生产资源规格§4.1 ☐ __GiB
1.1.5 MinIO 数据盘规划(最大增长项) S≥50GiB / M≥100GiB / L≥300GiB / XL≥1TiB(独立挂载点推荐) df -h 生产资源规格§4.2 ☐ __GiB
1.1.6 MySQL 数据盘 S≥30GiB / M≥50GiB / L≥100GiB / XL≥200GiB df -h 生产资源规格§4.1 ☐ __GiB
1.1.7 可选模块资源增量评估 按启用模块叠加 CPU/内存/磁盘 确认启用模块清单 生产资源规格§3.1.2 ☐ 启用模块:__
1.1.8 Search 模块额外资源(如启用) +2核/3GiB/40GiB 起步(S档),OS JVM 堆预留 确认是否开启 search 生产资源规格§3.2.4 ☐
1.1.9 网络带宽满足档位 S≥10Mbps上/50Mbps下;L≥100M/500M;XL≥500M/1G 客户提供带宽说明或 speedtest-cli 生产资源规格§5 ☐ __Mbps
1.1.10 磁盘类型为 SSD MySQL/OpenSearch/Kafka 需要低延迟 IO lsblk -d -o name,rota(rota=0为SSD) 生产资源规格§3.1 ☐

1.2 操作系统与基础软件要求

参考:《单机Docker部署SOP-v1.0》§1.1-1.2

# 检查项 期望结果 验证方式 参考文档 实际结果 备注
1.2.1 操作系统版本 Linux x86_64,推荐 Ubuntu 22.04 / Debian 12 / CentOS 8+ cat /etc/os-release 单机SOP§1.1 ☐
1.2.2 Linux 内核版本 ≥ 4.18(支持 OverlayFS) uname -r 单机SOP§1.1 ☐
1.2.3 CPU 架构 x86_64/amd64(ARM64 需自行构建镜像,不推荐) uname -m 离线部署指南§2.1 ☐
1.2.4 Docker Engine 版本 ≥ 24.0,推荐 26.x+ docker --version 单机SOP§1.2 ☐
1.2.5 Docker Compose v2 插件 ≥ 2.20,使用 docker compose(无连字符) docker compose version 单机SOP§1.2 ☐
1.2.6 OpenSSL 版本 ≥ 1.1.1 openssl version 单机SOP§1.2 ☐
1.2.7 系统时区配置 国内部署设为 Asia/Shanghai timedatectl;TZ 将在 .env 中设 环境变量§3.4 ☐
1.2.8 Swap 分区建议 生产建议关闭 swap 或设 swappiness=10 swapon --show;cat /proc/sys/vm/swappiness 通用最佳实践 ☐
1.2.9 系统时间同步 NTP/chrony 已配置,时间偏差<1分钟 timedatectl status 或 chronyc tracking 通用最佳实践 ☐
1.2.10 防火墙工具可用 ufw/iptables/firewalld 可配置 which ufw 或 which firewall-cmd 网络端口§3 ☐
1.2.11 (K8s 部署)Kubernetes 集群版本 ≥ 1.26(Helm chart 要求,待确认) kubectl version K8s Helm SOP ☐ N/A ☐

1.3 网络准备

参考:《网络端口与防火墙清单-v1.0》§1-3

# 检查项 期望结果 验证方式 参考文档 实际结果 备注
1.3.1 访问域名已准备 客户提供可用域名(如 octo.customer.com)或确定使用 IP DNS 解析或 hosts 文件确认 环境变量§3.1 ☐ 域名:__
1.3.2 域名 DNS 解析生效 域名 A 记录指向部署服务器 IP nslookup 或 dig Nginx配置§5 ☐
1.3.3 SSL/TLS 证书准备 生产环境使用可信 CA 证书(Let's Encrypt/商业CA);测试可用自签名 证书文件 .crt/.key 已就绪 单机SOP§3.3 ☐ 证书路径:__
1.3.4 HTTPS 端口规划 默认 28443,如用标准 443 需 root 权限或前置 LB 与客户确认端口策略 网络端口§1.5 ☐ HTTPS端口:__
1.3.5 HTTP 入口端口 默认 28080,仅 Nginx 需对外暴露 与客户确认防火墙策略 网络端口§1.1 ☐ HTTP端口:__
1.3.6 外网访问策略确认 确认纯内网 / VPN访问 / 公网访问 与客户网络管理员确认 网络端口§3 ☐ 场景:__
1.3.7 出站网络访问策略 在线部署需出站访问 Docker Hub/mininglamposs/hub2.intra.mlamp.cn;离线需允许导入介质 从服务器 curl -I https://registry-1.docker.io 离线部署指南§1 ☐ 在线/离线:__
1.3.8 (在线)Docker Hub 连通性 能拉取 Docker Hub 镜像或已配置镜像加速器 docker pull hello-world 生产资源§7 ☐
1.3.9 (离线)镜像介质准备 全量镜像 tar 包已传输至目标机(约 15-30GB) ls -lh 确认 tar 包存在 离线部署指南§3-6 ☐ 介质路径:__
1.3.10 (内网)私有镜像仓库 如客户有 Harbor 等 Registry,确认推送/拉取权限 docker login 测试 离线部署指南§9 ☐ N/A ☐
1.3.11 LLM API 出站连通性(如需AI功能) 服务器能访问 LLM API 端点(公网API或内网LLM网关) curl -I 环境变量§7 ☐ N/A ☐
1.3.12 Docker 子网无冲突 默认 172.28.0.0/24 不与客户 VPN/VPC 网段冲突 ip route 检查路由表 环境变量§3.3 ☐

1.4 端口开放清单

参考:《网络端口与防火墙清单-v1.0》§1、§3、§7

默认部署唯一对外端口:TCP 28080(HTTP)或 28443(HTTPS)。所有内部服务端口绑定 127.0.0.1,不应对外开放。

1.4.1 必须对外/对客户端开放的端口
# 端口 协议 服务 用途 开放范围 实际结果 备注
1.4.1.1 28080(或自定义HTTP端口) TCP Nginx HTTP 统一入口 客户端网段 ☐
1.4.1.2 28443(或443,如启用HTTPS) TCP Nginx HTTPS 统一入口 客户端网段 ☐ N/A ☐
1.4.1.3 22 TCP SSH 远程管理 管理员IP/堡垒机 ☐
1.4.2 内部端口(必须绑定 127.0.0.1,禁止对外开放)
# 端口 服务 风险说明 验证 实际结果 备注
1.4.2.1 23306 MySQL 数据库暴露可致全库泄露 .env 中 OCTO_MYSQL_BIND=127.0.0.1 ☐
1.4.2.2 26379 Redis(无密码!) 默认无密码,暴露即失守 OCTO_REDIS_BIND=127.0.0.1 ☐
1.4.2.3 29000 MinIO API 绕过Nginx直接访问S3 OCTO_MINIO_API_BIND=127.0.0.1 ☐
1.4.2.4 29001 MinIO Console 管理控制台,SSH隧道访问 OCTO_MINIO_CONSOLE_BIND=127.0.0.1 ☐
1.4.2.5 25001 WuKongIM Manager API 内部管理接口 OCTO_WK_API_BIND=127.0.0.1 ☐
1.4.2.6 25100 WuKongIM TCP 原生TCP长连接,绕过Nginx限流 OCTO_WK_TCP_BIND=127.0.0.1 ☐
1.4.2.7 25200 WuKongIM WS WebSocket直连,绕过Nginx限流 OCTO_WK_WS_BIND=127.0.0.1 ☐
1.4.2.8 25300 WuKongIM Monitor 监控/varz,泄露拓扑 OCTO_WK_MONITOR_BIND=127.0.0.1 ☐
1.4.2.9 28081 octo-server 直连 绕过Nginx限流 OCTO_SERVER_BIND=127.0.0.1 ☐
1.4.2.10 28082 admin 直连 绕过Nginx直接访问管理后台 OCTO_ADMIN_BIND=127.0.0.1 ☐
1.4.2.11 28083 web 直连 绕过Nginx直连前端 OCTO_WEB_BIND=127.0.0.1 ☐
1.4.2.12 28086 matter 直连 绕过Nginx限流 OCTO_MATTER_BIND=127.0.0.1 ☐
1.4.2.13 28087 summary-api 直连 (可选模块) OCTO_SUMMARY_API_BIND=127.0.0.1 ☐ N/A ☐
1.4.2.14 28088 speech-admin 语音管理控制台(SSH隧道) OCTO_SPEECH_ADMIN_BIND=127.0.0.1 ☐ N/A ☐
1.4.2.15 29092 Kafka(search profile) 消息队列暴露 OCTO_SEARCH_KAFKA_BIND=127.0.0.1 ☐ N/A ☐
1.4.2.16 29200 OpenSearch(search profile) 搜索索引暴露 OCTO_SEARCH_OPENSEARCH_BIND=127.0.0.1 ☐ N/A ☐
1.4.3 Docker iptables 绕过问题确认
# 检查项 期望结果 验证方式 参考文档 实际结果 备注
1.4.3.1 知晓 Docker iptables 绕过 ufw 问题 Docker DOCKER chain 优先级高于 ufw 阅读网络端口§4 网络端口§4 ☐
1.4.3.2 前置反向代理时将 OCTO_NGINX_BIND 改为 127.0.0.1 宿主机Nginx/LB监听公网,反代到127.0.0.1:28080 .env 配置确认 网络端口§4.3 ☐ N/A(直接暴露) ☐
1.4.3.3 或在 DOCKER-USER chain 添加过滤规则 非信任IP无法访问内部端口 iptables -L DOCKER-USER -n 网络端口§4.2 ☐

1.5 依赖服务核验(内嵌 vs 外接)

参考:《基础设施依赖映射.md》《Kubernetes-Helm部署SOP-v1.0.md》

Docker Compose 默认全部内嵌;K8s Helm 支持外接托管服务。

# 依赖服务 部署方式选择 期望结果 验证方式 参考文档 实际结果 备注
1.5.1 MySQL 8.0 ☐ 内嵌(Docker) ☐ 外接(云RDS/自建) 外接需提供连接串、用户名、密码、权限 与客户DBA确认 环境变量§5/Helm externalMySQL ☐
1.5.2 Redis 7 ☐ 内嵌(Docker,默认无密码) ☐ 外接(云Redis/自建) 外接需支持AUTH,提供地址/密码 与客户DBA确认 环境变量§19.1/Helm externalRedis ☐
1.5.3 MinIO ☐ 内嵌(Docker) ☐ 外接(COS/OSS/S3/Qiniu) 外接需确认bucket、AK/SK、Endpoint Helm server.config.fileService MinIO文档§1.2 ☐
1.5.4 WuKongIM ☐ 内嵌(Docker/Helm) ☐ 外接(一般不推荐) 长连接服务,建议内嵌 Helm wukongim.enabled 网络端口§1 ☐
1.5.5 PostgreSQL(仅fleet模块) ☐ 内嵌(fleet-postgres) ☐ 外接 启用fleet时需要 Helm未含fleet 生产资源§3.2.3 ☐ N/A ☐
1.5.6 OpenSearch(仅search模块) ☐ 内嵌 ☐ 外接 内嵌需配置 vm.max_map_count docker-compose.yaml 生产资源§6.4 ☐ N/A ☐
1.5.7 Kafka(仅search模块) ☐ 内嵌(KRaft单节点) ☐ 外接 内嵌为单节点KRaft docker-compose.yaml 生产资源§3.2.4 ☐ N/A ☐

1.6 客户信息收集表

# 信息项 说明 填写 实际结果 备注
1.6.1 访问域名 / IP 客户端访问地址 __ ☐
1.6.2 HTTP/HTTPS 端口 默认 28080/28443 __ ☐
1.6.3 是否启用 HTTPS 是/否;证书类型(CA/自签名) __ ☐
1.6.4 管理员账号信息 superAdmin 初始密码(自动生成或指定) 自动生成 ☐ / 指定:__ ☐
1.6.5 LLM API 配置 API URL / Key / Model(AI功能需要) URL:__ Key:__ Model:__ ☐ N/A ☐
1.6.6 LLM 供应商选择 通义千问(qwen)/OpenAI兼容/Gemini(语音+摘要) __ ☐
1.6.7 SSO/OIDC 配置(如需) Client ID / Secret / Issuer URL / Callback URL __ ☐ N/A ☐
1.6.8 邮件/SMTP 配置(如需通知) SMTP Host/Port/User/Password __ ☐ N/A ☐
1.6.9 需要启用的模块 Profile summary/speech/docs/drive/fleet/search/doc-index/drive-index/docs-html __ ☐
1.6.10 用户规模预估 注册用户数/日活/并发在线/日均消息量 __ ☐
1.6.11 对象存储策略 内嵌MinIO / 外接COS/OSS/S3;存储配额 __ ☐
1.6.12 备份策略要求 备份频率/保留周期/备份存储位置 __ ☐
1.6.13 监控告警接收方式 邮件/钉钉/企微/飞书 Webhook __ ☐
1.6.14 客户方运维对接人 姓名/手机/邮箱 __ ☐
1.6.15 客户网络策略对接人 防火墙/安全组/域名负责人 __ ☐

1.7 镜像准备

参考:《DockerCompose离线部署指南-v1.0》

# 检查项 期望结果 验证方式 参考文档 实际结果 备注
1.7.1 部署包获取 octo-deployment 仓库/安装包已在目标机解压 ls 确认 docker/ 目录存在 单机SOP§二 ☐ 路径:__
1.7.2 (在线)镜像拉取验证 docker compose pull 可正常拉取所有镜像 执行 docker compose pull 单机SOP§四 ☐ N/A ☐
1.7.3 (离线)镜像 tar 包完整 全量镜像 tar 包约 15-30GB ls -lh *.tar 核对清单 离线部署指南§3 ☐ N/A ☐
1.7.4 (离线)镜像导入 docker load -i 导入所有镜像 docker images 确认镜像存在 离线部署指南§6 ☐ N/A ☐
1.7.5 (离线)OpenSearch IK 镜像 octo-search-opensearch-ik:2.17.0 已构建并导入(search模块需要) `docker images grep opensearch` 离线部署指南§5 ☐ N/A ☐
1.7.6 中国区镜像加速 如需使用国内镜像源,已配置 daemon.json mirror cat /etc/docker/daemon.json 环境变量§16 ☐
1.7.7 (内网Registry)镜像已推送 所有镜像已tag并push到客户私有仓库 docker pull / 验证 离线部署指南§9 ☐ N/A ☐
1.7.8 镜像版本一致性 确认各服务镜像版本与部署包版本匹配 检查 .env 中 OCTO_*_IMAGE 变量 环境变量§16 ☐

二、交付中 Checklist(部署执行对照)

目标:按 SOP 逐步执行部署,每步验证通过后再继续。

2.1 基础环境配置

参考:《单机Docker部署SOP-v1.0》§三、《生产资源规格建议》§6.4

# 检查项 期望结果 验证方式 参考文档 实际结果 备注
2.1.1 Docker 已安装且服务运行 docker daemon active systemctl status docker 单机SOP§1.2 ☐
2.1.2 Docker 服务开机自启 enabled systemctl is-enabled docker 通用最佳实践 ☐
2.1.3 当前用户在 docker 组 免 sudo 执行 docker 命令 `groups grep docker` 通用最佳实践 ☐
2.1.4 Docker 日志轮转配置 防止日志写满磁盘:max-size=100m, max-file=3 cat /etc/docker/daemon.json 生产资源§6.4 ☐
2.1.5 OpenSearch 内核参数(如启用search) vm.max_map_count=262144 sysctl vm.max_map_count 生产资源§6.4 ☐ N/A ☐
2.1.6 vm.max_map_count 持久化 已写入 /etc/sysctl.conf grep max_map_count /etc/sysctl.conf 生产资源§6.4 ☐ N/A ☐
2.1.7 文件描述符限制 nofile ≥ 65536 ulimit -n 生产资源§6.4 ☐
2.1.8 数据目录创建 Docker volume 所在磁盘空间充足 df -h /var/lib/docker 生产资源§4 ☐
2.1.9 部署目录权限 当前用户对 docker/ 目录有读写权限 ls -la docker/ 单机SOP§三 ☐
2.1.10 防火墙规则已配置 仅开放必要端口(28080/28443/22),其余拒绝 ufw status verbose 或云安全组规则 网络端口§3 ☐
2.1.11 (K8s)Helm 已安装 helm ≥ 3.12 helm version K8s Helm SOP ☐ N/A ☐
2.1.12 (K8s)kubectl 可访问集群 cluster-admin 权限 kubectl cluster-info K8s Helm SOP ☐ N/A ☐
2.1.13 (K8s)StorageClass 可用 有默认 StorageClass 支持 PVC 动态供给 kubectl get sc K8s Helm SOP ☐ N/A ☐

2.2 配置项核验(.env 关键变量检查)

参考:《环境变量配置参考-v1.0》§2-§19

强烈推荐使用 `docker-compose-setup.sh` 自动生成 .env,避免手动遗漏。

# 变量名 期望结果 验证方式 实际结果 备注
2.2.1 🔴 MYSQL_ROOT_PASSWORD 已修改,非 CHANGE_ME 占位符,仅含 [A-Za-z0-9._-] grep MYSQL_ROOT_PASSWORD .env 非CHANGE_ME ☐
2.2.2 🔴 MINIO_ROOT_PASSWORD ≥8字符,非 CHG_ME! grep MINIO_ROOT_PASSWORD .env ☐
2.2.3 🔴 OCTO_MINIO_APP_PASSWORD 已修改,非 CHANGE_ME 占位符 grep OCTO_MINIO_APP_PASSWORD .env ☐
2.2.4 🔴 OCTO_MASTER_KEY 恰好32字节(openssl rand -hex 16 输出) grep OCTO_MASTER_KEY .env 检查长度 ☐
2.2.5 🔴 OCTO_NOTIFY_INTERNAL_TOKEN 已修改,非 CHANGE_ME 占位符 grep OCTO_NOTIFY_INTERNAL_TOKEN .env ☐
2.2.6 🔴 OCTO_WUKONGIM_MANAGER_TOKEN 已修改,非 CHANGE_ME 占位符 grep OCTO_WUKONGIM_MANAGER_TOKEN .env ☐
2.2.7 🔴 OCTO_MATTER_DB_PASSWORD 非字面默认值 matter grep OCTO_MATTER_DB_PASSWORD .env ☐
2.2.8 🔴 OCTO_SUMMARY_DB_PASSWORD 非字面默认值 summary grep OCTO_SUMMARY_DB_PASSWORD .env ☐
2.2.9 🔴 OCTO_SUMMARY_READER_PASSWORD 非字面默认值 summary_reader grep OCTO_SUMMARY_READER_PASSWORD .env ☐
2.2.10 🔴 OCTO_MARKETPLACE_DB_PASSWORD 已修改,非 CHANGE_ME 占位符 grep OCTO_MARKETPLACE_DB_PASSWORD .env ☐
2.2.11 🔴 OCTO_ADMIN_PWD 已设置(setup.sh 自动生成),非弱密码 grep OCTO_ADMIN_PWD .env ☐
2.2.12 OCTO_DOMAIN 设为客户域名或服务器IP,非 localhost(生产环境) grep OCTO_DOMAIN .env ☐
2.2.13 OCTO_EXTERNAL_IP 设为实际服务器IP grep OCTO_EXTERNAL_IP .env ☐
2.2.14 TZ 设为 Asia/Shanghai(国内部署) grep ^TZ= .env ☐
2.2.15 WK_MODE 生产设为 release grep WK_MODE .env ☐
2.2.16 LLM_API_KEY 已设置真实可用的 Key(使用matter/summary时必填) grep LLM_API_KEY .env 非空 ☐ N/A ☐
2.2.17 LLM_API_URL / LLM_MODEL 指向正确的 LLM 端点和模型 检查值是否匹配客户LLM服务 ☐ N/A ☐
2.2.18 所有 *_BIND 变量 除 OCTO_NGINX_BIND 外均为 127.0.0.1 grep _BIND .env ☐
2.2.19 OCTO_NGINX_BIND 前置LB时设 127.0.0.1;直连公网保持 0.0.0.0 grep OCTO_NGINX_BIND .env ☐
2.2.20 HTTPS 三变量一致性 MINIO_SERVER_URL/TS_MINIO_DOWNLOADURL/TS_EXTERNAL_BASEURL 均为相同 https:// URL 检查HTTPS场景下三变量值 ☐ N/A(HTTP) ☐
2.2.21 COMPOSE_PROFILES 按需启用模块,逗号分隔无空格 grep COMPOSE_PROFILES .env ☐
2.2.22 OCTO_SEARCH_BACKEND 启用search时设为 es,不启用保持 disabled grep OCTO_SEARCH_BACKEND .env ☐
2.2.23 🔴 Speech 模块密钥(如启用) SPEECH_ADMIN_PASSWORD/SPEECH_ADMIN_JWT_SECRET/SPEECH_DB_PASSWORD/VOICE_QWEN_KEY 已设置 逐项检查 环境变量§11 ☐ N/A ☐
2.2.24 🔴 Docs 模块密钥(如启用) OCTO_DOCS_DB_PASSWORD/OCTO_DOCS_COLLAB_SECRET/OCTO_DOCS_ATTACHMENT_SECRET + 3个URL 已设置 逐项检查非空 环境变量§12 ☐ N/A ☐
2.2.25 🔴 Search 模块密钥(如启用) OCTO_SEARCH_CURSOR_HMAC 已设置(openssl rand -hex 32) 检查非空 环境变量§13.3 ☐ N/A ☐
2.2.26 无空字符串覆盖 OCTO_WK_WS_ADDR等可选变量未被设为空值(=后无值) 检查.env中无 VAR= 空值行 环境变量§19.3 ☐

2.3 部署步骤对照(按SOP顺序执行)

参考:《单机Docker部署SOP-v1.0》§三-§七

# 步骤 命令/操作 期望结果 参考文档 实际结果 备注
2.3.1 运行 setup.sh(推荐) ./docker-compose-setup.sh [--registry ...] [--llm-url ... --llm-key ...] 生成 .env、自签名证书、启用HTTPS 单机SOP§3.1 ☐
2.3.2 或手动配置 .env 从 .env.example 复制,填写所有密码(不推荐) .env 中所有 CHANGE_ME 已替换 单机SOP§3.2 ☐ N/A(用setup.sh) ☐
2.3.3 TLS 证书放置 生产CA证书放 docker/certs/;自签名由setup.sh自动生成 ls docker/certs/ 单机SOP§3.3/§6.2 ☐
2.3.4 启动核心基础服务 docker compose up -d(核心栈,无profile时) 所有核心容器启动 单机SOP§四 ☐
2.3.5 等待初始化完成 docker compose up -d --wait(等待healthcheck通过) preflight/minio-init退出码0 单机SOP§2.2 ☐
2.3.6 查看容器运行状态 docker compose ps 所有服务 State=running 或 healthy 单机SOP§2.2 ☐
2.3.7 无反复重启容器 docker ps -a 查看 Restart 列 重启次数<3,无 exited 容器(除init job) 监控指南§2 ☐
2.3.8 检查 preflight 日志 docker compose logs preflight 无 FATAL/CHANGE_ME 错误 单机SOP§2.2 ☐
2.3.9 检查 minio-init 日志 docker compose logs minio-init 所有 bucket 创建成功,Policy applied MinIO文档§2.3 ☐
2.3.10 按 Profile 逐个启用模块 修改 COMPOSE_PROFILES,逐个 docker compose up -d,每启用一个验证健康 模块容器正常启动 单机SOP§七 ☐ 按推荐顺序:summary→speech→docs→drive→fleet→search
2.3.11 Search 模块特殊处理 启动后执行 search-backfill 回填历史消息,最后设置 OCTO_SEARCH_PRODUCER_ON=true backfill 完成,alias绑定 单机SOP§5.7 ☐ N/A ☐
2.3.12 Speech 模块特殊处理 在 speech-admin 控制台创建应用获取 SPEECH_API_KEY,重启 octo-server 语音消息可正常发送 单机SOP§5.2 ☐ N/A ☐
2.3.13 (K8s)Helm install helm install octo ./octo -f values.yaml -f values-customer.yaml 所有 Pod running/ready K8s Helm SOP ☐ N/A ☐
2.3.14 (K8s)Ingress 配置 配置 Ingress TLS 和 host 域名可访问 K8s Helm SOP ☐ N/A ☐

2.4 Profile 模块启用检查

参考:《内部模块Profile开启指南-v1.0》

# 模块 Profile名 启用确认 前置密钥/配置已就绪 容器健康 实际结果 备注
2.4.1 Marketplace(技能市场) 默认启用 ☐ 启用 ☐ 不启用 OCTO_MARKETPLACE_DB_PASSWORD 已设 ☐ ☐
2.4.2 Summary(智能摘要) summary ☐ 启用 ☐ 不启用 LLM_API_KEY + summary DB密码 ☐ ☐ N/A ☐
2.4.3 Speech(语音转写) speech ☐ 启用 ☐ 不启用 SPEECH_*全套密钥+语音引擎Key ☐ ☐ N/A ☐
2.4.4 Docs(文档协同) docs ☐ 启用 ☐ 不启用 OCTO_DOCS_*全套密钥+3个URL ☐ ☐ N/A ☐
2.4.5 docs-html(HTML渲染) docs-html ☐ 启用 ☐ 不启用 依赖docs;DOCS_BACKEND_INTERNAL_REGISTER_TOKEN ☐ ☐ N/A ☐
2.4.6 Drive(企业网盘) drive ☐ 启用 ☐ 不启用 drive相关配置(helm未含,待确认) ☐ ☐ N/A ☐
2.4.7 Fleet/Loop(回路) fleet ☐ 启用 ☐ 不启用 fleet-postgres已配置 ☐ ☐ N/A ☐
2.4.8 Search(消息搜索) search ☐ 启用 ☐ 不启用 OCTO_SEARCH_BACKEND=es + CURSOR_HMAC + vm.max_map_count ☐ ☐ N/A ☐
2.4.9 doc-index(文档索引) doc-index ☐ 启用 ☐ 不启用 依赖docs+search ☐ ☐ N/A ☐
2.4.10 drive-index(网盘索引) drive-index ☐ 启用 ☐ 不启用 依赖drive+search+tika ☐ ☐ N/A ☐

2.5 端口开放验证

部署完成后,从客户端/另一台机器逐一验证。

# 端口 协议 期望结果 验证方式 实际结果 备注
2.5.1 28080(HTTP入口) TCP 从客户端可连通 nc -zv 28080 ☐
2.5.2 28443(HTTPS入口,如启用) TCP 从客户端可连通 nc -zv 28443 ☐ N/A ☐
2.5.3 22(SSH) TCP 仅管理员IP可连 从非信任IP试连,应被拒绝 ☐
2.5.4 23306(MySQL) TCP 外部不可达 nc -zv 23306 应超时/拒绝 ☐
2.5.5 26379(Redis) TCP 外部不可达 同上 ☐
2.5.6 29000(MinIO API) TCP 外部不可达 同上 ☐
2.5.7 29001(MinIO Console) TCP 外部不可达 同上 ☐
2.5.8 25001(WK API) TCP 外部不可达 同上 ☐
2.5.9 25100(WK TCP) TCP 外部不可达 同上 ☐
2.5.10 25200(WK WS) TCP 外部不可达 同上 ☐
2.5.11 25300(WK Monitor) TCP 外部不可达 同上 ☐
2.5.12 28081/28082/28083/28086 TCP 外部不可达 同上 ☐
2.5.13 WebSocket 连通性 WS ws://host:port/ws 可建立连接 wscat -c ws://:28080/ws ☐

2.6 健康检查验证

参考:《监控与日志配置指南-v1.0》§2、《网络端口与防火墙清单》§8.2

所有健康检查通过 Nginx 入口或直连验证。

# 服务 检查命令(经Nginx入口,替换host) 期望结果 实际结果 备注
2.6.1 Nginx curl -fsS http://:28080/_nginx_up 200 ok ☐
2.6.2 服务状态页 curl -fsS http://:28080/_octo_up 返回HTML状态页 ☐
2.6.3 octo-server API curl -fsS http://:28080/api/v1/ping pong ☐
2.6.4 octo-server 健康 curl -fsS http://:28080/api/v1/health 200 OK ☐
2.6.5 MySQL(直连) docker compose exec mysql mysqladmin ping -h 127.0.0.1 -u root -p"" --silent mysqld is alive ☐
2.6.6 Redis(直连) docker compose exec redis redis-cli ping PONG ☐
2.6.7 MinIO(经Nginx) curl -fsS http://:28080/minio/health/live 200 ☐
2.6.8 WuKongIM(直连,需token) curl -s -H "token: $TOKEN" http://localhost:25001/health 200 ☐
2.6.9 web前端 curl -s -o /dev/null -w "%{http_code}" http://:28080/ 200 ☐
2.6.10 admin后台 curl -s -o /dev/null -w "%{http_code}" http://:28080/admin/ 200 ☐
2.6.11 marketplace curl -fsS http://:28080/market/healthz 200 ☐
2.6.12 matter(AI助手) curl -fsS http://:28080/matter/health 200(待确认路径) ☐
2.6.13 summary-api(如启用) curl -fsS http://:28080/summary/health(或直连28087) 200 ☐ N/A ☐
2.6.14 octo-docs-backend(如启用) curl -fsS http://:28080/docs-api/healthz 200 ☐ N/A ☐
2.6.15 文档WS(如启用) wscat -c ws://:28080/docs-ws/ 连接建立成功 ☐ N/A ☐
2.6.16 OpenSearch(如启用search,直连) curl -fsS http://localhost:29200/_cluster/health green/yellow状态 ☐ N/A ☐
2.6.17 Kafka(如启用search,直连) docker compose exec search-kafka kafka-broker-api-versions.sh --bootstrap-server localhost:9092 返回版本列表 ☐ N/A ☐
2.6.18 octo-fleet(如启用) curl -fsS http://:28080//healthz(或直连28089) 200 ☐ N/A ☐
2.6.19 全容器健康检查 docker inspect --format '{{.Name}} {{.State.Health.Status}}' $(docker compose ps -q) 所有服务 healthy ☐
2.6.20 HTTPS(如启用) curl -fsSk https://:28443/_nginx_up 200 ok ☐ N/A ☐

2.7 功能冒烟测试

登录后逐项测试核心功能。建议用两个测试账号互发消息。

# 功能模块 测试项 验证方式 实际结果 备注
2.7.1 登录 使用 superAdmin 账号登录 Web 端 浏览器打开域名,输入用户名密码,成功进入主页 ☐ 账号已记录
2.7.2 修改初始密码 首次登录后修改 superAdmin 密码 在设置中修改密码并重新登录验证 ☐
2.7.3 创建普通用户 管理员创建测试用户 Admin 后台创建用户成功 ☐
2.7.4 一对一聊天 两个用户互发文本消息 双方实时收到消息 ☐
2.7.5 群聊 创建群组,群内发消息 所有群成员收到消息 ☐
2.7.6 发送图片 聊天中发送图片消息 图片可正常上传、显示、下载 ☐
2.7.7 发送文件 聊天中发送文件附件(<100MB) 文件上传成功,对方可下载 ☐
2.7.8 语音消息(如启用speech) 录制并发送语音消息 语音可录制、发送、播放 ☐ N/A ☐
2.7.9 消息搜索(如启用search) 搜索历史消息关键词 搜索结果正确返回 ☐ N/A ☐
2.7.10 AI助手/Matter(如LLM配置) 在AI助手中发送问题 AI正常回复 ☐ N/A ☐
2.7.11 智能摘要(如启用summary) 在聊天中触发消息摘要 摘要正常生成 ☐ N/A ☐
2.7.12 文档协同(如启用docs) 创建文档、多人编辑 文档可创建、实时协同编辑、保存 ☐ N/A ☐
2.7.13 企业网盘(如启用drive) 上传/下载/分享文件 网盘功能正常 ☐ N/A ☐
2.7.14 Bot/技能市场(如启用marketplace) 安装/启用技能Bot Bot可正常响应 ☐
2.7.15 头像/贴纸/表情 上传头像、发送贴纸 正常显示 ☐
2.7.16 文件下载 URL 签名 点击下载聊天附件 通过Nginx路径下载文件,MinIO签名验证通过 ☐
2.7.17 移动端/桌面端连接(如有) 使用客户端App连接 消息同步正常 ☐ N/A ☐
2.7.18 离线消息 一用户下线后发送消息,上线后收到 离线消息正常投递 ☐
2.7.19 管理后台功能 登录Admin后台查看用户/组织/配置 各项数据正常展示 ☐
2.7.20 Thread/子区(DM_THREAD_ON=true) 在消息上创建子区讨论 子区功能正常 ☐

三、交付后 Checklist(验收与交接)

目标:完成安全加固、备份配置、监控告警、客户培训、文档交接,正式验收。

3.1 安全检查

参考:《网络端口与防火墙清单-v1.0》§7

# 检查项 期望结果 验证方式 参考文档 实际结果 备注
3.1.1 所有默认密码/Token已修改 无任何 CHANGE_ME/CHG_ME/字面默认值残留 `grep -E "CHANGE_ME CHG_ME ^MYSQL_ROOT_PASSWORD=matter$ =matter$ =summary$ =summary_reader$" .env` 无结果 网络端口§7.2 ☐
3.1.2 superAdmin 密码已修改 非初始密码,强度≥8位含大小写数字 客户管理员确认已修改 环境变量§8 ☐
3.1.3 OCTO_ADMIN_PWD 已从 .env 中移除或妥善保管 首次启动后密码不会被再次读取但仍明文存储 编辑 .env 删除或加密保存 环境变量§8 ☐
3.1.4 OCTO_MASTER_KEY 强度验证 恰好32字节,随机生成(非简单字符串) grep OCTO_MASTER_KEY .env 检查 环境变量§2.4 ☐
3.1.5 HTTPS 已启用(公网部署必须) TLS证书有效,非自签名(公网环境) 浏览器访问无证书警告 Nginx配置§5.3 ☐ 内网自签名可接受
3.1.6 HSTS 头已发送(HTTPS) Strict-Transport-Security 响应头存在 `curl -sI https:// grep -i strict` Nginx配置§4.3 ☐
3.1.7 安全响应头 X-Frame-Options/X-Content-Type-Options/Referrer-Policy 存在 `curl -sI http:// grep -i x-frame` Nginx配置§4.3 ☐
3.1.8 Nginx 版本隐藏 server_tokens off `curl -sI http:// grep -i server` 无版本号 Nginx配置§3.4 ☐
3.1.9 防火墙规则最终确认 仅28080/28443/22开放,来源IP受限 ufw status verbose 或云安全组 网络端口§3 ☐
3.1.10 Redis 未暴露公网 绑定127.0.0.1且无密码保护不构成风险 `ss -tlnp grep 26379` 仅127.0.0.1 网络端口§7.1 ☐
3.1.11 MinIO Console 未通过Nginx暴露 仅SSH隧道可访问 :29001 访问 http://:29001 应超时 网络端口§1.2 ☐
3.1.12 MinIO Bucket 匿名策略正确 仅file/chat/moment/sticker/chatbg/common/avatar设为download,其余私有 mc anonymous list / MinIO文档§3.3 ☐
3.1.13 WuKongIM Token认证开启 tokenAuthOn=true,非空Token 不带token访问 :25001/health 应401 环境变量§2.6 ☐
3.1.14 Speech Admin密码已设置 SPEECH_ADMIN_PASSWORD 非空(如启用speech) 检查 .env 环境变量§11 ☐ N/A ☐
3.1.15 OpenSearch Security 生产启用 OCTO_SEARCH_OPENSEARCH_DISABLE_SECURITY=false(生产search模块) 检查.env(公网/多租户必须) 环境变量§13.2 ☐ N/A ☐
3.1.16 SSH 密钥认证 SSH禁用密码登录,仅密钥 grep PasswordAuthentication /etc/ssh/sshd_config 通用最佳实践 ☐
3.1.17 密码文件权限 .env 文件权限 600,docker目录权限受限 ls -la .env 通用最佳实践 ☐
3.1.18 Docker iptables 最终验证 从外部扫描确认无意外开放端口 外部 nmap -p 1-30000 网络端口§4 ☐

3.2 备份配置

参考:《MinIO-Bucket与数据管理-v1.0》§8、《升级与版本迁移指南》§1.1

# 检查项 期望结果 验证方式 参考文档 实际结果 备注
3.2.1 MySQL 备份策略确定 每日mysqldump或xtrabackup,保留≥7天 编写备份脚本并测试 MinIO文档§8/升级指南§1.1 ☐
3.2.2 MySQL 备份脚本测试 手动执行备份,生成.sql.gz文件,可正常恢复 执行备份脚本,检查输出文件 升级指南§1.1 ☐
3.2.3 MySQL 备份cron配置 crontab中配置每日自动备份 crontab -l 查看 通用最佳实践 ☐
3.2.4 MinIO 备份策略确定 mc mirror到独立存储/文件系统快照 备份方案文档化 MinIO文档§8 ☐
3.2.5 MinIO 备份脚本测试 mc mirror全量+增量执行成功 检查目标端bucket文件完整 MinIO文档§8.2 ☐
3.2.6 配置文件备份 .env/docker-compose.yaml/values.yaml纳入版本管理或备份 Git仓库或加密备份 升级指南§1.1 ☐
3.2.7 Docker volume 备份(冷备) 重要命名卷定期快照(mysql-data/minio-data/wukongim-data) 测试 tar 备份脚本 MinIO文档§8.3 ☐
3.2.8 备份存储位置 备份文件存放在部署服务器以外的位置 确认备份目标路径/存储 升级指南§1.1 ☐
3.2.9 备份恢复演练 在测试环境执行一次完整恢复验证 恢复MySQL+MinIO,数据完整可用 通用最佳实践 ☐ 建议上线前完成
3.2.10 OpenSearch 索引备份(如启用search) 配置OS snapshot repository 查询snapshot状态 通用最佳实践 ☐ N/A ☐

3.3 监控告警配置

参考:《监控与日志配置指南-v1.0》§3-§5

# 检查项 期望结果 验证方式 参考文档 实际结果 备注
3.3.1 Docker 日志轮转已配置 json-file max-size=100m max-file=5 cat /etc/docker/daemon.json 监控指南§1.1 ☐
3.3.2 Docker 日志轮转已生效 重启docker并重建容器后日志文件自动轮转 systemctl reload docker + 重建容器 监控指南§1.1 ☐
3.3.3 容器运行状态监控 核心服务异常自动重启+告警 docker restart policy=always + 监控脚本 监控指南§3 ☐
3.3.4 主机资源监控 CPU/内存/磁盘/带宽监控接入客户现有监控系统 node_exporter/cadvisor或客户监控Agent 监控指南§3 ☐
3.3.5 MinIO磁盘使用率告警 使用率>70%告警 监控脚本或客户告警系统 生产资源§8.1 ☐
3.3.6 MySQL慢查询/连接数监控 慢查询>10/min或连接数>80%告警 监控MySQL metrics 生产资源§8.2 ☐
3.3.7 服务健康检查告警 任一核心服务health=unhealthy持续2min告警 监控docker health状态 监控指南§3 ☐
3.3.8 Nginx 5xx错误率监控 5xx率>1%持续1min告警 监控nginx access log 生产资源§8.1 ☐
3.3.9 磁盘空间告警 所有挂载点使用率>80%告警 主机磁盘监控 生产资源§8.1 ☐
3.3.10 日志可查询 docker compose logs 可正常查看各服务日志 验证几个核心服务日志可正常输出 监控指南§1 ☐
3.3.11 告警通知渠道 告警可送达客户运维(邮件/钉钉/企微/飞书) 发送测试告警验证 客户信息表1.6.13 ☐
3.3.12 WuKongIM连接数监控 在线连接数异常告警(如突降为0) 监控wk metrics 生产资源§8.2 ☐

3.4 客户培训要点

# 培训项 培训对象 内容要点 完成确认 备注
3.4.1 系统架构概览 管理员+运维 OCTO组件构成、数据流向、端口架构 ☐
3.4.2 日常运维操作 运维 启停命令(docker compose up/down/start/stop/restart)、日志查看、服务状态检查 ☐ 参考单机SOP§十二
3.4.3 用户管理 管理员 创建/禁用用户、Space成员管理、角色权限(注:Q10已确认无独立组织架构模块,成员管理以Space为边界) ☐
3.4.4 基础功能使用 全员/关键用户 聊天/群聊/文件传输/语音/搜索/AI助手等核心功能 ☐
3.4.5 模块功能使用 对应用户 文档协同/网盘/Bot技能等启用模块的专项培训 ☐ 按启用模块安排
3.4.6 常见问题处理 运维/管理员 常见报错处理:preflight/密码问题/证书/端口冲突/磁盘满等Top10问题 ☐ 参考单机SOP§十一
3.4.7 备份恢复流程 运维 备份脚本使用、恢复操作步骤、备份验证方法 ☐
3.4.8 紧急联系人 管理员/运维 OCTO技术支持联系方式、升级/故障申报流程 ☐

3.5 交付文档清单

# 文档名称 格式 交付方式 实际交付 备注
3.5.1 部署文档(单机SOP或K8s SOP) PDF/Markdown 交付U盘/邮件/知识库 ☐
3.5.2 本私有化部署Checklist(已填写) PDF/打印件 双方签字 ☐
3.5.3 管理员手册 PDF 交付 ☐
3.5.4 用户使用手册/快速指南 PDF 交付 ☐
3.5.5 API文档(如需集成) 在线/PDF 交付 ☐ N/A ☐
3.5.6 账号密码清单(加密交付) 加密文件/纸质密封 仅交付客户指定负责人 ☐ 包含:管理员账号/DB密码/MinIO密码/各Token等
3.5.7 环境信息表 PDF/Excel 交付 ☐ 服务器IP/域名/端口/版本/模块清单
3.5.8 .env 配置文件备份 加密文件 交付客户运维存档 ☐
3.5.9 备份恢复操作手册 PDF 交付 ☐
3.5.10 常见问题FAQ PDF 交付 ☐

3.6 验收签字项

# 验收类别 验收项 验收标准 客户确认 备注
3.6.1 功能验收 用户登录认证 可正常登录、修改密码、退出 ☐
3.6.2 功能验收 即时消息(C2C+群聊) 文本/图片/文件消息实时收发,离线消息可达 ☐
3.6.3 功能验收 文件上传下载 图片/文件/头像上传下载正常(≤1000MB) ☐
3.6.4 功能验收 管理后台 用户/组织/配置管理可用 ☐
3.6.5 功能验收 启用模块功能 所有已启用模块(summary/speech/docs/drive/search/fleet)功能正常 ☐
3.6.6 功能验收 AI功能(如启用) AI助手/智能摘要/语音转写正常响应 ☐ N/A ☐
3.6.7 性能验收 并发用户 满足约定规模并发用户在线(如__人同时在线消息收发正常) ☐ 按档位约定
3.6.8 性能验收 响应时间 消息发送到接收延迟<1s(内网);页面加载<3s ☐
3.6.9 性能验收 文件传输 10MB文件上传<10s(内网) ☐
3.6.10 安全验收 端口安全 仅约定端口对外,其余端口不可达 ☐
3.6.11 安全验收 HTTPS/证书 公网访问启用有效TLS证书 ☐ N/A(纯内网) ☐
3.6.12 安全验收 密码策略 所有默认密码已修改 ☐
3.6.13 交付物验收 文档完整 3.5节所有文档已交付 ☐
3.6.14 交付物验收 培训完成 管理员和用户培训已完成 ☐

3.7 升级预案

参考:《升级与版本迁移指南-v1.0》

# 检查项 期望结果 验证方式 参考文档 实际结果 备注
3.7.1 升级流程文档已交付 客户了解升级SOP:备份→读Changelog→pull新镜像→启动→验证→回滚预案 升级指南文档化 升级指南§1-2 ☐
3.7.2 回滚方案明确 升级失败可通过备份恢复到原版本 回滚步骤文档化 升级指南§5 ☐
3.7.3 版本记录已建立 记录当前部署版本号(octo-server版本/镜像digest) `docker images grep octo` 或 helm list 通用最佳实践 ☐
3.7.4 Changelog 订阅 客户知晓如何获取版本更新通知(GitHub Releases/交付群通知) 提供订阅方式 升级指南§1.2 ☐
3.7.5 测试环境(建议) L档以上建议客户维持一套测试环境用于升级验证 与客户确认 升级指南§1.3 ☐
3.7.6 COMPOSE_PROJECT_NAME 记录 多套部署需不同项目名,避免 down -v 误删 记录当前 project name 环境变量§19.7 ☐
3.7.7 数据库迁移机制了解 升级可能触发自动migration,需在维护窗口执行 与客户运维说明 升级指南§4 ☐
3.7.8 Kafka Cluster ID 不可变提示 search模块的OCTO_SEARCH_KAFKA_CLUSTER_ID首次安装后不可修改 记录在交付文档中 环境变量§19.8 ☐ N/A ☐

附录 A:快速命令参考

启停管理

cd octo-deployment/docker
docker compose up -d              # 启动所有服务
docker compose up -d --wait       # 启动并等待健康
docker compose stop               # 停止(保留容器)
docker compose start              # 启动已停止的容器
docker compose restart            # 重启所有服务
docker compose restart octo-server # 重启单个服务
docker compose down               # 停止并删除容器(保留数据卷)
# ⚠️ docker compose down -v     # 会删除所有数据卷!生产环境慎用

日志查看

docker compose logs -f octo-server    # 实时查看octo-server日志
docker compose logs --tail=100 nginx  # 查看nginx最近100行
docker compose logs mysql 2>&1 | grep -i error  # 查看MySQL错误

一键健康检查

#!/bin/bash
echo "=== OCTO Health Check ==="
curl -s http://localhost:28080/_nginx_up && echo " ✅ nginx" || echo " ❌ nginx"
curl -s http://localhost:28080/api/v1/ping && echo " ✅ octo-server" || echo " ❌ octo-server"
curl -s http://localhost:28080/minio/health/live >/dev/null && echo " ✅ minio" || echo " ❌ minio"
docker compose exec redis redis-cli ping | grep -q PONG && echo " ✅ redis" || echo " ❌ redis"
docker compose exec mysql mysqladmin ping -h 127.0.0.1 -u root -p"$MYSQL_ROOT_PASSWORD" --silent | grep -q alive && echo " ✅ mysql" || echo " ❌ mysql"
docker compose ps --format "table {{.Names}}\t{{.Status}}"

SSH 隧道访问内部管理界面

# MinIO Console (:29001)
ssh -L 9001:127.0.0.1:29001 user@host   # 浏览器 http://localhost:9001

# WuKongIM Manager (:25001)
ssh -L 5001:127.0.0.1:25001 user@host   # 浏览器 http://localhost:5001/

# Speech Admin (:28088)
ssh -L 28088:127.0.0.1:28088 user@host  # 浏览器 http://localhost:28088

附录 B:参考文档索引

文档 路径 用途
单机Docker部署SOP 03-deployment-ops/单机Docker部署SOP-v1.0.md Docker Compose 完整部署步骤
Kubernetes-Helm部署SOP 03-deployment-ops/Kubernetes-Helm部署SOP-v1.0.md K8s Helm 部署步骤
网络端口与防火墙清单 03-deployment-ops/网络端口与防火墙清单-v1.0.md 端口规划和防火墙规则
环境变量配置参考 03-deployment-ops/环境变量配置参考-v1.0.md 所有环境变量说明
生产资源规格建议 03-deployment-ops/生产资源规格建议-v1.0.md 服务器资源规划
Nginx反向代理配置清单 03-deployment-ops/Nginx反向代理配置清单-v1.0.md Nginx配置详情
MinIO Bucket与数据管理 03-deployment-ops/MinIO-Bucket与数据管理-v1.0.md 对象存储和备份
DockerCompose离线部署指南 03-deployment-ops/DockerCompose离线部署指南-v1.0.md 离线镜像准备和导入
升级与版本迁移指南 03-deployment-ops/升级与版本迁移指南-v1.0.md 升级和回滚流程
监控与日志配置指南 03-deployment-ops/监控与日志配置指南-v1.0.md 监控告警和日志
内部模块Profile开启指南 03-deployment-ops/内部模块Profile开启指南-v1.0.md 各模块启用详情