docs: 部署与环境(两套线上拓扑,不含账密)
记录 l123.91ai.io 反代与 licence.rlwj.cn 本机部署口径; 远程改为 gitea.91ai.io/rlwj-lab/opsx-licence。
This commit is contained in:
1 parent
7d648a2883
commit
1a47dee63d
1 file changed
+121
+121
@@ -0,0 +1,121 @@
|
||||
# opsx-licence 部署与环境
|
||||
|
||||
> 本文汇总本机仓库可确认信息 + 业务侧口述的线上部署事实。
|
||||
> **带「待远程核实」的条目:本轮未 SSH、未登录管理后台,仅按口述与仓内既有说明记录。**
|
||||
> **禁止**:把管理后台密码、JWT、Waffo 私钥等写入本文件或提交仓库。
|
||||
|
||||
## 用途(一句话)
|
||||
|
||||
通用许可证(License)管理服务器:为 Web / PC / 移动等多端产品提供在线/离线授权、座位激活、订单与 Waffo 支付对账、管理后台。
|
||||
|
||||
线上示例(README):`https://l123.91ai.io/`
|
||||
|
||||
## 本机仓库
|
||||
|
||||
| 项 | 值 |
|
||||
|----|-----|
|
||||
| 路径 | `/Users/logan/devops/opsx-licence` |
|
||||
| Remote | `https://gitea.91ai.io/rlwj-lab/opsx-licence.git`(origin;原 Gitee `opsx-tools/opsx-licence` 已弃用为主远程) |
|
||||
| 默认分支 | `master`(与 `origin/master` 对齐;本轮摸仓时工作区干净) |
|
||||
|
||||
## 技术栈(本机确认)
|
||||
|
||||
| 层 | 技术 |
|
||||
|----|------|
|
||||
| 后端 | Go(`go.mod` 标 1.25)+ Gin + GORM;默认 SQLite,可 MySQL / PostgreSQL |
|
||||
| 前端 | Vue 3.4 + Vite + Element Plus + ECharts + Pinia |
|
||||
| 打包 | 前端 `dist` 经 `//go:embed` 打进单二进制;Docker 多阶段构建 |
|
||||
| 认证 | JWT + bcrypt;管理端单 Admin |
|
||||
| 默认服务端口 | 后端 / 生产单体 **9001**;开发前端 Vite **5181** |
|
||||
|
||||
详细授权模型见 [licensing-model.md](./licensing-model.md);支付闭环见 [waffo-integration.md](./waffo-integration.md)。开发约定见仓库根目录 `AGENTS.md`。
|
||||
|
||||
## 本地如何跑(本机确认)
|
||||
|
||||
```bash
|
||||
cd /Users/logan/devops/opsx-licence
|
||||
cp .env.example .env # 按需改 JWT_SECRET 等;勿把真实密钥提交仓库
|
||||
./run.sh start # 或 make dev
|
||||
# 开发:前端 http://localhost:5181 ,后端 http://localhost:9001
|
||||
# 默认管理账号见 README / AGENTS.md(生产必须改密;密码勿写入文档)
|
||||
```
|
||||
|
||||
其它常用:
|
||||
|
||||
| 命令 | 说明 |
|
||||
|------|------|
|
||||
| `./run.sh stop` / `status` / `restart` | 停 / 查 / 重启开发进程 |
|
||||
| `./run.sh build` 后 `./run.sh binary start` | 嵌入前端的单二进制 |
|
||||
| `./run.sh docker up`(或 `make docker-up`) | Docker Compose;宿主机映射 `${HOST_PORT:-9001}` → 容器 9001 |
|
||||
| `make install` | `go mod download` + `npm install` |
|
||||
|
||||
健康检查(Docker):`GET http://127.0.0.1:9001/readyz`
|
||||
|
||||
## 关键配置路径(本机确认)
|
||||
|
||||
| 路径 | 作用 |
|
||||
|------|------|
|
||||
| 仓库根 `.env` / `.env.example` | 后端主配置模板与本地覆盖(`PORT`、`GIN_MODE`、`JWT_SECRET`、DB、Waffo、CORS 等) |
|
||||
| `frontend/.env.development` | 开发:`VITE_API_BASE_URL=/api`(经 Vite 代理) |
|
||||
| `frontend/.env.production` | 生产构建:同源相对路径 `/api` |
|
||||
| `backend/config/config.go` | 读环境变量、默认值(含 CORS 本地 5181) |
|
||||
| `backend/router/router.go` | `/api` 路由注册 |
|
||||
| `docker-compose.yml` | 单容器 `opsx-licence` + SQLite 备份 sidecar;数据卷 `licence_data` → `/data/db.sqlite3` |
|
||||
| `Dockerfile` | Node 打前端 → Go embed → debian 运行时,`PORT=9001` |
|
||||
| `run.sh` / `Makefile` | 本地启停与构建入口 |
|
||||
| `docs/` | 授权模型、Waffo、本文 |
|
||||
|
||||
客户端公开 API 前缀:`/api/v1`(激活/心跳/checkout/webhook 等,见 README)。
|
||||
管理端登录接口:`POST /api/auth/login`(限流 + 锁定,勿频繁打)。
|
||||
|
||||
## 线上部署事实(待远程核实)
|
||||
|
||||
以下为业务侧口述;**本轮未登录服务器核实 nginx / 进程 / 目录。**
|
||||
|
||||
### `l123.91ai.io`(待远程核实)
|
||||
|
||||
| 项 | 口述内容 |
|
||||
|----|----------|
|
||||
| 入口 | 公网域名 `l123.91ai.io` |
|
||||
| 反代 | **nginx** 反代到内网 **`192.168.14.7:9001`** |
|
||||
| 应用代码路径 | **`/srv/opsx-licence`** |
|
||||
| 应用端口 | 与仓内默认一致时为 **9001**(待在应用机确认容器/进程绑定) |
|
||||
|
||||
仓内 `AGENTS.md`「服务器环境」另记:香港机 nginx 反代该域名 → `http://192.168.14.7:9001`,内网应用机容器绑 `0.0.0.0:9001`。与口述方向一致,**仍待远程再核一次**。
|
||||
|
||||
Webhook / 支付回跳示例(`.env.example`,非本次核实):
|
||||
`https://l123.91ai.io/api/v1/webhooks/waffo`、`SUCCESS_URL=https://l123.91ai.io/api/v1/purchase/success`
|
||||
|
||||
### `licence.rlwj.cn`(国内 · 待远程核实)
|
||||
|
||||
| 项 | 口述内容 |
|
||||
|----|----------|
|
||||
| 入口 | 公网域名 `licence.rlwj.cn`(国内) |
|
||||
| 部署形态 | **nginx 与后端服务同机** |
|
||||
| 应用代码路径 | **`/srv/opsx-licence`** |
|
||||
| 应用端口 | 预期容器/进程 **9001**,常由本机 nginx 反代对外 HTTPS(待远程确认监听与 `proxy_pass`) |
|
||||
|
||||
仓内 `AGENTS.md` 另记该域名为国内应用服务器角色、容器绑 `127.0.0.1:9001`。与「同机 nginx+服务」口述一致,**仍待远程再核一次**。
|
||||
|
||||
### 两套环境共性(待远程核实 + 仓内约定)
|
||||
|
||||
- 部署路径统一口述为 **`/srv/opsx-licence`**
|
||||
- 管理后台两套地址:`https://l123.91ai.io` 与 `https://licence.rlwj.cn`
|
||||
- 两套环境的 `JWT_SECRET` 等应各自独立(见 `AGENTS.md`);勿混用 token
|
||||
- 密码与密钥:**不写入仓库**;向负责人索取或查密码管理器;泄露/遗忘时在服务器侧重置
|
||||
|
||||
## 本轮未做 / 仍缺
|
||||
|
||||
- [ ] SSH 登录应用机 / 反代机,核对 nginx `server_name`、`proxy_pass`、证书
|
||||
- [ ] 核对 `/srv/opsx-licence` 是否存在、与本机仓是否同版本、Docker Compose / 单二进制哪种在跑
|
||||
- [ ] 核对容器端口绑定(`127.0.0.1:9001` vs `0.0.0.0:9001`)与健康检查
|
||||
- [ ] 在 1:1(非群聊)用管理员账号验后台(**勿在群内贴密码、勿把密码写入本文件**)
|
||||
- [ ] 确认两套环境 Waffo / webhook 公网 URL 是否都指向对应域名
|
||||
|
||||
远程摸机请在与全栈工程师的 **1:1** 进行(群聊不便做登录类操作)。
|
||||
|
||||
## 修订记录
|
||||
|
||||
| 日期 | 说明 |
|
||||
|------|------|
|
||||
| 2026-10-15 | 本机摸仓新建本文;写入用户口述两套部署并标「待远程核实」;补用途、本地跑法、关键配置路径。未 commit / 未 push。 |
|
||||
Reference in new issue
Block a user