Files
MiFaZhan fd42b5976e
mirror-to-gitee / mirror (push) Successful in 4s
trigger-jenkins-oss / trigger (push) Successful in 0s
docs: 重写 README(用户视角,含手册跳转)+ 去掉「开源版」措辞 + 单端口入口 5051
README
- 标题去掉「(开源版)」:对使用者就是 iotLCM
- 新增「文档」表:使用手册(Web 端 / 小程序端)、部署手册、OpenAPI 合同、
  共享 Token 接口,全部指向仓内 docs/ 路径;并给出部署后的文档站地址
- 补功能概览、服务构成(带镜像 tag)、从源码构建、版本与镜像、许可

去措辞
- Gitee 建仓描述同步去掉「(开源版)」

单端口入口(新增,对外默认 5051)
- deploy/config/gateway/nginx.conf:/ → 管理端、/docs/ → 文档站、
  /openapi/ 与 /route/open/ → openapi
- compose 增加 gateway 服务(profile with-gateway),端口由 GATEWAY_PORT 控制
  实测:/ 200、/docs/ 200(含静态资源)、/api/agent/dept/list 200、
  /api/system/auth/login 返回后端真实 JSON
- nginx profile 的 80 端口改为可配 NGINX_HTTP_PORT(文档早有提及但 compose 写死)
- 部署手册概览页修正过期内容(schema 单文件、服务清单补全)、optional 增单端口入口段
2026-11-02 14:57:57 +08:00

4.2 KiB
Raw Permalink Blame History

title, description, outline
title description outline
部署概览 IotLCM 平台的部署方式、构成与前置条件 deep

部署概览

IotLCM 平台通过 Docker Compose 在单机上部署。部署编排与数据库初始化脚本在代码仓的 deploy/ 目录:

git clone <仓库地址> iotlcm
cd iotlcm/deploy
deploy/
├── docker-compose.yml      # 服务编排(含默认口令与端口)
├── config/                 # 各服务配置 + gateway / nginx 两种入口配置
├── schema/init.sql         # MySQL 初始化(单文件,95 表 + 种子数据)
├── tdengine-init/          # 时序库建库建表(首次启动自动执行)
└── data/                   # 运行数据,首次启动自动创建

部署内容

类别 服务
基础组件 MySQL、Redis、RabbitMQ、Consul、TDengine(流量历史)
管理端 admin-svr(后端 8008)、admin-ui(前端 8009)
对外接口 openapi(8000)
小程序 / H5 app-server(8010)、app-web(8018)
通道 upstream-chan(8110 / 8310)、upstream-proxy(8510)
异步与配套 worker-svr、sms(11190)、docs(8019)
可选 onelink-mock(接口挡板)、bot(飞书通知)、nginx(多域名入口)、gateway(单端口入口 5051)
运营商对接 upstream-chan(协议适配)、upstream-proxy(缓存转发)
异步任务 worker-svr(批次执行、全量同步)
配套 sms(短信)、docs(本文档站)
可选 onelink-mock(运营商接口挡板)、bot(飞书通知)、nginx(反向代理)

部署流程

git clone <仓库地址> iotlcm
cd iotlcm/deploy
docker compose up -d

三步,不需要复制或修改任何文件——配置与编排都随仓库分发且带可用默认值。首次启动自动建库并导入 schema,约 1~2 分钟。

启动后访问 http://<宿主机IP>:8009,账号 admin,口令见 docker-compose.yml。

::: warning 默认口令只用于试用 正式部署前必须修改数据库、Redis、RabbitMQ、admin 账号口令与 JWT 密钥,详见配置说明。 :::

文档导航

文档 内容
环境准备 硬件、系统、Docker 版本、镜像仓库、端口规划
配置说明 docker-compose.yml 与 config/ 各项含义
启动与验证 启动流程、验证清单、首次登录
其他部署方式 二进制、自建镜像、分离、离线
可选服务 接口挡板、飞书通知、反向代理
升级与备份 版本固定、升级回滚、数据备份
故障排查 常见问题与处理

关键约束

::: warning JWT 密钥必须三处一致 admin-svr、openapi、app-server 共用同一个 JWT_SIGNING_KEY。不一致的表现是能登录管理端,但调用外部 API 或小程序端提示未授权。

更换该值会使已签发的全部登录态与接口令牌立即失效,需在维护窗口操作。 :::

::: tip 镜像标签不要用 latest 生产环境必须把 TAG 固定到具体版本号。latest 会随仓库推送变化,同一份编排在不同时间拉到的镜像不同,出问题无法定位,也无法明确回滚。 :::

::: danger 修改 schema 脚本不会自动生效 数据库初始化只在 data/mysql 为空时执行。改了 schema/ 下的脚本必须清空数据卷才会重跑,而清空会丢失全部数据。生产环境禁止这样操作。 :::

服务端口

默认端口规划:

端口 服务 是否对外
8000 openapi 经反向代理
8008 admin-svr 经反向代理
8009 admin-ui 经反向代理
8010 app-server 经反向代理
8018 app-web 经反向代理
8019 docs 经反向代理
3306 / 6379 / 5672 / 8500 MySQL / Redis / RabbitMQ / Consul 仅内网
8110 / 8310 / 8510 upstream-chan / upstream-proxy 仅内网
11190 / 11200 sms 仅内网
8080 onelink-mock 仅联调

端口冲突时修改 docker-compose.yml 中对应变量,不要直接改 docker-compose.yml。