记录 l123.91ai.io 反代与 licence.rlwj.cn 本机部署口径; 远程改为 gitea.91ai.io/rlwj-lab/opsx-licence。
5.9 KiB
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;支付闭环见 waffo-integration.md。开发约定见仓库根目录 AGENTS.md。
本地如何跑(本机确认)
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:9001vs0.0.0.0:9001)与健康检查 - 在 1:1(非群聊)用管理员账号验后台(勿在群内贴密码、勿把密码写入本文件)
- 确认两套环境 Waffo / webhook 公网 URL 是否都指向对应域名
远程摸机请在与全栈工程师的 1:1 进行(群聊不便做登录类操作)。
修订记录
| 日期 | 说明 |
|---|---|
| 2026-10-15 | 本机摸仓新建本文;写入用户口述两套部署并标「待远程核实」;补用途、本地跑法、关键配置路径。未 commit / 未 push。 |