Files
iotlcm/docs/deploy.md
T
MiFaZhan 4e2cd43a55 chore: 初始开源发布
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
2026-10-22 15:08:27 +08:00

67 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 部署说明
## Docker Compose(推荐)
```bash
docker compose up -d --build
```
- 后端:容器内 `:8080`
- 前端:`http://127.0.0.1:18080/onelink-mock/`
- 数据:命名卷 `backend-data`(SQLite)与 `backend-logs`
停止与清理:
```bash
docker compose down # 停容器,保留数据
docker compose down -v # 连数据卷一起删除
```
## 镜像
镜像未预置到公共仓库时,用本地构建:
```bash
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` 转发到前端容器:
```nginx
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 单文件里。备份直接拷这个文件即可:
```bash
docker compose exec backend sh -c 'sqlite3 /app/data/onelink_mock.db ".backup /app/data/backup.db"'
```