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

1.8 KiB
Raw Blame History

部署说明

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"'