Files
opsx-licence/docs/部署与环境.md
T
Logan.Li 1a47dee63d docs: 部署与环境(两套线上拓扑,不含账密)
记录 l123.91ai.io 反代与 licence.rlwj.cn 本机部署口径;
远程改为 gitea.91ai.io/rlwj-lab/opsx-licence。
2026-10-15 17:53:15 +08:00

5.9 KiB
Raw Blame History

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:9001 vs 0.0.0.0:9001)与健康检查
  • 在 1:1(非群聊)用管理员账号验后台(勿在群内贴密码、勿把密码写入本文件)
  • 确认两套环境 Waffo / webhook 公网 URL 是否都指向对应域名

远程摸机请在与全栈工程师的 1:1 进行(群聊不便做登录类操作)。

修订记录

日期 说明
2026-10-15 本机摸仓新建本文;写入用户口述两套部署并标「待远程核实」;补用途、本地跑法、关键配置路径。未 commit / 未 push。