4e2cd43a55
iotlcm-onelink-mock:OneLink 挡板服务(本地测试替身)。 - Go module 迁移至 git.5iot.com/iotlcm-public/iotlcm-onelink-mock - 修复同毫秒内多次生成卡导致 ICCID/IMSI 唯一约束冲突 - 补 Apache-2.0 LICENSE,README 重写并新增 docs/deploy.md - 移除内部部署资产(CI 触发器 / 镜像推送脚本 / 指定环境部署文档) - 测试凭据改为 demo_appid / demo_password,真实手机号与内网 IP 脱敏 - 统一 LF 行尾并加 .gitattributes
1.8 KiB
1.8 KiB
部署说明
Docker Compose(推荐)
docker compose up -d --build
- 后端:容器内
:8080 - 前端:
http://127.0.0.1:18080/onelink-mock/ - 数据:命名卷
backend-data(SQLite)与backend-logs
停止与清理:
docker compose down # 停容器,保留数据
docker compose down -v # 连数据卷一起删除
镜像
镜像未预置到公共仓库时,用本地构建:
docker build -t iotlcm-onelink-mock-backend .
docker build -t iotlcm-onelink-mock-frontend ./frontend
推到自己的镜像仓库后,在 compose 里用 image: 覆盖 build: 即可。建议使用不可变标签(commit sha)而不是 latest。
用 Nginx 以子路径挂载
服务前端默认以 /onelink-mock/ 为前缀访问。挂到已有 Nginx 站点下时,用一个 location 转发到前端容器:
location = /onelink-mock {
return 301 /onelink-mock/;
}
location /onelink-mock/ {
proxy_pass http://127.0.0.1:18080;
proxy_http_version 1.1;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
环境变量
| 变量 | 默认值 | 说明 |
|---|---|---|
BAFFLE_ADDR |
:8080 |
后端监听地址 |
BAFFLE_SQLITE_PATH |
data/onelink_mock.db |
SQLite 数据文件路径 |
GF_GCFG_FILE |
manifest/config/config.yaml |
配置文件路径(容器内为 /app/manifest/config/config.yaml) |
数据持久化
卡数据、appid 凭据、订单与操作日志全部落在 SQLite 单文件里。备份直接拷这个文件即可:
docker compose exec backend sh -c 'sqlite3 /app/data/onelink_mock.db ".backup /app/data/backup.db"'