Files
iotlcm/README.md
T

3.8 KiB
Raw Blame History

IotLCM 部署仓

IotLCM 物联网卡管理平台的部署编排与数据库初始化脚本。使用 Docker Compose 在单机上拉起完整平台。

一键启动

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

无需复制或修改任何文件,配置里已带可用默认值。首次启动会自动建库、建表、创建应用账号并导入种子数据,约需 1~2 分钟。

等待 MySQL 健康后其余服务依次启动,观察进度:

docker compose logs -f mysql

启动完成后访问 http://<宿主机IP>:8009:

项 值
账号 admin
口令 Iotlcm2026Default

⚠️ 正式使用前必须修改默认口令,见下方「上线前必改」。

可选服务

docker compose --profile with-mock up -d     # 运营商接口挡板
docker compose --profile with-bot up -d      # 飞书通知
docker compose --profile with-nginx up -d    # 自带反向代理

多个 profile 可组合:--profile with-mock --profile with-nginx up -d

镜像版本

当前部署编排固定使用业务镜像 v1.0.4;iotlcm-app-server 与 iotlcm-app-web 固定为 v1.0.2。升级时请在 docker-compose.yml 中同步更新对应 tag,不要改用 latest。

部署内容

类别 服务
基础组件 MySQL、Redis、RabbitMQ、Consul
业务服务 admin-svr(管理端后端)、admin-ui(管理端前端)、openapi(对外 API)、app-server(小程序后端)、app-web(小程序前端)、upstream-chan(运营商对接)、upstream-proxy(通道缓存转发)、worker-svr(异步任务)、sms(短信)、docs(文档站)
可选 onelink-mock(运营商接口挡板)、bot(飞书通知)、nginx(反向代理)

目录结构

iotlcm-deploy/
├── docker-compose.yml      # 服务编排(含全部默认值)
├── config/                 # 各服务配置,已带可用默认值
│   ├── admin-svr/config.yaml
│   ├── admin-ui/default.conf
│   ├── app-server/config.yaml
│   ├── bot/config.yaml
│   ├── nginx/iotlcm.conf
│   ├── openapi/config.yaml
│   ├── sms/config.yaml
│   ├── upstream-chan/config.yaml
│   ├── upstream-proxy/config.yaml
│   └── worker-svr/config.yaml
├── schema/init.sql         # 数据库初始化(单文件,首次启动自动执行)
└── data/                   # 运行数据(首次启动自动创建,不入版本库)

上线前必改

默认口令仅用于快速试用。正式部署前必须修改以下内容,具体位置见部署手册:

项 位置
数据库口令(root 与应用账号) docker-compose.yml + config/*/config.yaml + schema/init.sql
Redis 口令 docker-compose.yml + config/*/config.yaml
RabbitMQ 口令 docker-compose.yml + config/*/config.yaml
admin 初始口令 docker-compose.yml + schema/init.sql
JWT 签名密钥 config/admin-svr、config/openapi、config/app-server 三处
对外域名 config/nginx/iotlcm.conf

::: warning 改口令必须多处同步 因为配置文件里是字面值(未使用环境变量),改口令时编排、配置、初始化脚本三处必须一致,漏改会导致服务连不上数据库。 :::

重要提示

  • JWT_SIGNING_KEY 必须在 admin-svr、openapi、app-server 三者间完全一致,否则令牌跨服务不通
  • 镜像标签不要用 latest,生产环境请固定到具体版本
  • 改 schema/ 下的脚本不会自动生效,需要清空 data/mysql 重新初始化(会丢失全部数据)
  • 默认只监听 127.0.0.1 的服务需通过反向代理对外

许可

Apache License 2.0