Files
iotlcm/docs/deploy/index.md
T
Dai0814 e43640d0fe docs: 部署手册改为平台部署,替换原文档站自身部署说明
原 /deploy/ 内容是文档站自身(VitePress/Node/nginx)的部署说明,
与用户所需的「IotLCM 平台部署手册」不符。

改为基于 iotlcm-public/iotlcm-deploy 部署仓的平台部署手册:
- 部署概览:部署构成、三步流程、端口规划、关键约束
- 环境准备:硬件分档、系统与 Docker 版本、镜像仓库、防火墙、可选外部依赖
- 配置说明:.env 必填 8 项与可选 4 项、10 份应用配置逐项说明
- 启动与验证:首次初始化流程、7 步验证清单、首次登录必做项
- 可选服务:运营商挡板 onelink-mock、飞书 bot、反向代理(含 HTTPS)
- 升级与备份:版本固定、升级回滚、备份与恢复、日志清理、监控指标
- 故障排查:启动/功能/性能/网络四类共 20 个问题

删除原 6 页(docker-nginx / path-prefix / static-hosting / local-dev /
offline / faq),侧边栏同步改为「部署手册 + 运维」两组。
2026-10-28 14:00:58 +08:00

3.3 KiB

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

部署概览

IotLCM 平台通过 Docker Compose 在单机上部署。部署编排与数据库初始化脚本在独立仓库:

git clone https://git.5iot.com/iotlcm-public/iotlcm-deploy.git
cd iotlcm-deploy
iotlcm-deploy/
├── docker-compose.yml      # 服务编排
├── .env.example            # 环境变量模板
├── config.example/         # 应用配置模板(10 份)
└── schema/                 # 数据库初始化脚本(12 个)

部署内容

类别 服务
基础组件 MySQL、Redis、RabbitMQ、Consul
管理端 admin-svr(后端)、admin-ui(前端)
对外接口 openapi
小程序 / H5 app-server(后端)、app-web(前端)
运营商对接 upstream-chan(协议适配)、upstream-proxy(缓存转发)
异步任务 worker-svr(批次执行、全量同步)
配套 sms(短信)、docs(本文档站)
可选 onelink-mock(运营商接口挡板)、bot(飞书通知)、nginx(反向代理)

部署流程

cp .env.example .env            # 1. 环境变量
cp -r config.example config     # 2. 应用配置
docker compose up -d            # 3. 启动

首次启动自动建库并导入 schema,约 1~2 分钟。

文档导航

文档 内容
环境准备 硬件、系统、Docker 版本、端口规划
配置说明 .env 与 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 仅联调

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