# 部署说明 ## 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"' ```