503fe59fe7
- README:项目概览、快速开始、目录结构、重要提示 - 01 环境准备:硬件/系统/Docker 版本、镜像仓库、端口、防火墙、可选外部服务 - 02 配置说明:.env 必填与可选项、10 份应用配置逐项说明、启动前自检 - 03 启动与验证:首次初始化流程、状态检查、6 步验证清单、首次登录必做项 - 04 可选服务:挡板 onelink-mock、飞书 bot、自带 nginx(含 HTTPS)、组合启动 - 05 升级与备份:版本固定、升级回滚、备份脚本与恢复、日志清理、监控指标 - 06 故障排查:启动/功能/性能/网络四类共 20 个问题
77 lines
3.0 KiB
Markdown
77 lines
3.0 KiB
Markdown
# IotLCM 部署仓
|
|
|
|
IotLCM 物联网卡管理平台的部署编排与数据库初始化脚本。使用 Docker Compose 在单机上拉起完整平台。
|
|
|
|
## 部署内容
|
|
|
|
| 类别 | 服务 |
|
|
| --- | --- |
|
|
| 基础组件 | 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(反向代理) |
|
|
|
|
## 快速开始
|
|
|
|
```bash
|
|
# 1. 准备环境变量
|
|
cp .env.example .env
|
|
vi .env # 填镜像仓库、各项口令
|
|
|
|
# 2. 准备配置
|
|
cp -r config.example config
|
|
vi config/*/config.yaml # 逐份填写(标注「必改」的项)
|
|
|
|
# 3. 启动
|
|
docker compose up -d
|
|
|
|
# 4. 查看状态
|
|
docker compose ps
|
|
```
|
|
|
|
首次启动会自动建库并导入 schema,MySQL 初始化约需 1~2 分钟。等待 `iotlcm-mysql` 健康后其余服务才会启动。
|
|
|
|
启动完成后访问 `http://<宿主机IP>:8009`,账号 `admin`,口令为 `.env` 中的 `MYSQL_ADMIN_PASSWORD`。
|
|
|
|
## 文档
|
|
|
|
| 文档 | 内容 |
|
|
| --- | --- |
|
|
| [环境准备](docs/01-环境准备.md) | 硬件、系统、Docker 版本要求 |
|
|
| [配置说明](docs/02-配置说明.md) | `.env` 与 `config/` 各项含义 |
|
|
| [启动与验证](docs/03-启动与验证.md) | 启动流程、健康检查、首次登录 |
|
|
| [可选服务](docs/04-可选服务.md) | 挡板、飞书通知、自带反向代理 |
|
|
| [升级与备份](docs/05-升级与备份.md) | 版本固定、升级、数据备份 |
|
|
| [故障排查](docs/06-故障排查.md) | 常见问题与处理 |
|
|
|
|
## 目录结构
|
|
|
|
```
|
|
iotlcm-deploy/
|
|
├── docker-compose.yml # 服务编排
|
|
├── .env.example # 环境变量模板 → 复制为 .env
|
|
├── config.example/ # 配置模板 → 复制为 config/
|
|
│ ├── admin-svr/
|
|
│ ├── admin-ui/
|
|
│ ├── app-server/
|
|
│ ├── bot/
|
|
│ ├── nginx/
|
|
│ ├── openapi/
|
|
│ ├── sms/
|
|
│ ├── upstream-chan/
|
|
│ ├── upstream-proxy/
|
|
│ └── worker-svr/
|
|
├── schema/ # 数据库初始化脚本(首次启动自动执行)
|
|
├── docs/ # 部署文档
|
|
├── config/ # 实际配置(不入版本库)
|
|
└── data/ # 运行数据(不入版本库)
|
|
```
|
|
|
|
`config/` 与 `data/` 在 `.gitignore` 中,不会被提交。
|
|
|
|
## 重要提示
|
|
|
|
- **`JWT_SIGNING_KEY` 必须在 `admin-svr`、`openapi`、`app-server` 三者间完全一致**,否则令牌跨服务不通
|
|
- **镜像标签不要用 `latest`**,生产环境请固定到具体版本
|
|
- **改 `schema/` 下的脚本不会自动生效**,需要清空 `data/mysql` 重新初始化(会丢失全部数据)
|
|
- 默认只监听 `127.0.0.1` 的服务需通过反向代理对外,见[可选服务](docs/04-可选服务.md)
|