MiFaZhan
|
6b5fb707c2
|
fix: docs 镜像升级到 v1.0.5,修复文档站白屏
测试反馈:访问文档站白屏、点击无反应。
根因:VitePress 配置 base: '/docs/',构建产物里资源引用是绝对路径 /docs/assets/xxx,
而 dist 目录是平铺的;镜像里的 nginx.conf 从根路径服务,/docs/assets/* 全部 404。
(此前修过同一问题,v1.0.4 同步代码时被覆盖回旧配置。)
上游已在 iotlcm-docs 修 nginx.conf(alias 剥前缀 + / -> /docs/ 重定向)并打 v1.0.5,
镜像 iotlcm-docs-v1.0.5 已由 tag 推送自动构建入库。
本仓把 docs 镜像 tag 从 v1.0.4 升到 v1.0.5。
实测:/ 302、/docs/ 200、/docs/manual/web/ 200、核心 CSS 200。
|
2026-10-30 13:19:18 +08:00 |
|
MiFaZhan
|
d84f93ce0a
|
feat: 内置 TDengine 时序库,自动建库建表
此前编排不含时序库,首页流量/用量图表、单卡流量历史等依赖时序数据的功能
不可用。现补上:
- 新增 tdengine 服务(镜像 iotlcm/iotlcm:tdengine-3.3.6.13)
端口 6041(taosAdapter/WebSocket,应用用这个)+ 6030,数据卷 ./data/tdengine
- 新增 tdengine-init 一次性服务:等 tdengine 健康后建库建表,并校验超级表存在,
缺表则以非零码退出
- 建库建表 SQL 取自生产环境 SHOW CREATE STABLE(仅结构无数据):
iotlcm_daily DURATION 7d KEEP 1095d ms -> t_sim_card_usage_daily
iotlcm_monthly DURATION 30d KEEP 1095d ms -> t_sim_card_usage_monthly
- 三个服务的 tsdb.tdengine 配置指向 tdengine:6041(admin-svr / app-server / worker-svr)
踩坑记录:taos -f 是按行执行语句的,多行 CREATE STABLE 会报
Incomplete SQL statement,因此 SQL 必须单行;且 taos 出错时退出码仍为 0,
故 run.sh 额外做超级表校验。
已验证:初始化 4 条语句全部 Create OK、0 error;按 worker 的 INSERT 形式
(USING ... TAGS)写入成功、按 admin 的查询形式(SELECT ts,usage_mb,package_code,iccid)
可读回;整栈 15 个服务全 Up,admin-svr/openapi/sms/docs 均 200,worker 无时序库报错。
|
2026-10-30 10:02:32 +08:00 |
|
MiFaZhan
|
247e5b2a60
|
update: 镜像改为单仓库 iotlcm/iotlcm,tag 为「服务名-版本」
阿里云 ACR 的仓库地址结构是 <Registry>/<命名空间>/<镜像仓库>:<tag>,
此前每个服务单独建了一个镜像仓库(iotlcm/mysql、iotlcm/iotlcm-admin-svr …),
现按要求统一到同一个镜像仓库 iotlcm/iotlcm,服务名放进 tag。
镜像地址变化:
crpi-.../iotlcm/iotlcm-admin-svr:v1.0.4
→ crpi-.../iotlcm/iotlcm:iotlcm-admin-svr-v1.0.4
17 个镜像(12 业务 + 5 基础组件)已重新打 tag 推送到单仓库并验证。
已验证 docker compose pull 全部拉取成功、14 个默认服务正常启动、
admin-svr/openapi/sms 健康检查 200、数据库 95 表。
Jenkins 流水线同步改为推送到 iotlcm/iotlcm,tag 自动拼接服务名。
|
2026-10-30 09:12:45 +08:00 |
|
MiFaZhan
|
314e213a5a
|
update: 固定 12 个业务镜像版本并修正部署健康检查
|
2026-10-29 17:21:59 +08:00 |
|
MiFaZhan
|
4d43238c63
|
update: 基础组件镜像改用 iotlcm 命名空间
阿里云企业版 ACR 的命名空间须在控制台预先创建,library 不存在。
统一放到已存在的 iotlcm 命名空间,与业务镜像同处一处:
<REGISTRY>/iotlcm/mysql:8.0
<REGISTRY>/iotlcm/redis:7.2
<REGISTRY>/iotlcm/rabbitmq:4.3.5-management
<REGISTRY>/iotlcm/consul:1.22
<REGISTRY>/iotlcm/nginx:1.30
已实测推送成功。
|
2026-10-29 14:44:56 +08:00 |
|
MiFaZhan
|
fd72d088fc
|
fix: 修正阿里云镜像仓库域名(crpi-...ohlkkvgc,原为 ohlLkvgc 拼写错误)
17 处镜像地址全部更正。已验证:域名解析正常(47.108.26.223),
/v2/ 返回 401(可访问,需登录)。
|
2026-10-29 13:14:09 +08:00 |
|
MiFaZhan
|
5ddad0c5e5
|
feat: 一键部署——配置内置默认值,去掉示例复制与环境变量
目标:git clone 后 docker compose up -d 直接可用,无需任何手工准备。
变更:
- config.example/ → config/,config.example.yaml → config.yaml
不再需要 cp -r 与逐份修改
- 删除 .env / .env.example,值全部内置到 docker-compose.yml
(GoFrame 不展开配置文件中的 ${VAR},环境变量方案在 Go 侧不可用)
- 配置文件里的 ${VAR} 全部替换为字面默认值
- schema/04-users.sh 与 05-reset-passwords.sh 改为脚本内字面口令,
不再读取环境变量
- 新增 schema/13-seed-flow-package.sql 占位文件,说明套餐表为空的原因与补齐方式
- .gitignore 不再排除 config/ 与 .env(已无 .env)
- README 改为「一键启动」+「上线前必改」两张表
已验证:docker compose config 通过;compose 口令、各配置文件 DSN、
初始化脚本三处口令哈希一致;库名与 schema 中一致。
|
2026-10-29 09:17:26 +08:00 |
|
MiFaZhan
|
bc2c7bcc6b
|
init: IotLCM 开源版部署仓
内容:
- docker-compose.yml:14 个基础/业务服务 + 3 个可选 profile(with-mock 挡板、with-bot、with-nginx)
- .env.example:集中管理镜像仓库、口令、端口;必填项缺失时 compose 直接报错退出
- config.example/:10 份配置模板,全部为占位值与注释说明
- schema/:12 个初始化脚本,按文件名顺序由 MySQL initdb 自动执行
脱敏处理:
- 生产/内网 IP、镜像仓库地址、公司名、真实域名全部清除
- 演示账号保留 18 个(出库与划拨依赖账号与部门树的关联),
昵称/邮箱/手机号/登录IP/头像改为占位或编造值
- 数据库账号与 admin 口令改为初始化时按 .env 注入计算
- 通道模板与 Mock 通道的上游密钥置空
- Mock 通道地址指向 compose 内 onelink-mock 服务
部署时用 --profile with-mock 启动运营商接口挡板,即可在无真实运营商环境时跑通全链路。
|
2026-10-28 13:40:12 +08:00 |
|