chore(config): 删除私有部署配置文件

- 移除 .deploy-state/current.json 部署状态文件
- 移除 .deploy-state/last-healthcheck.json 健康检查记录文件
- 移除 .deploy-state/progress.md 部署进度文档
- 移除 config/docs/docs-runtime.json 文档运行时配置文件
- 移除 config/sdk/xuqm-private-sdk.json SDK配置文件
这个提交包含在:
徐勤民 2026-05-20 15:54:16 +08:00
父节点 964188ba8c
当前提交 f2f9f06bf7
共有 12 个文件被更改,包括 0 次插入322 次删除

查看文件

@ -1 +0,0 @@
{}

查看文件

@ -1 +0,0 @@
{"healthy":false}

查看文件

@ -1 +0,0 @@
# 部署进度

查看文件

@ -1,20 +0,0 @@
{
"deployment": "PRIVATE",
"privateVersion": "2026.05.18-private.1",
"domains": {
"console": "https://console.customer.com",
"docs": "https://docs.customer.com",
"file": "https://file.customer.com",
"im": "https://im.customer.com",
"update": "https://update.customer.com",
"license": "https://license.customer.com",
"push": "https://push.customer.com"
},
"features": {
"file": true,
"im": false,
"push": false,
"update": false,
"license": false
}
}

查看文件

@ -1,6 +0,0 @@
SMTP_HOST=
SMTP_PORT=465
SMTP_USERNAME=
SMTP_TLS=true
SMTP_SSL=true

查看文件

@ -1,158 +0,0 @@
# =============================================================================
# XuqmGroup 私有化部署 — Nginx 路由配置
#
# 架构说明:
# 所有外部请求统一进入 nginx(80/443),由 nginx 分发到各后端容器
# 容器间通过 Docker 内部网络通信,无需暴露端口到宿主机
#
# 服务端口映射:
# tenant-service 9001 /api/*(核心 API、/actuator/*
# file-service 8086 /file/*(文件上传下载)
# im-service 8082 /api/im/*IM HTTP、/ws/im/*WebSocket
# update-service 8084 /api/v1/updates/*、/api/v1/rn/*
# push-service 8083 厂商回调(内部端口,不直接暴露给前端)
# license-service 8085 内部调用
# ops-web 80 /ops/*(运营后台)
# tenant-web 80 /*(控制台,兜底路由)
# =============================================================================
server {
listen 80;
server_name _;
# 强制 UTF-8 编码,防止中文乱码
charset utf-8;
# 最大上传文件大小(文件服务单独设置 500m
client_max_body_size 100m;
# ----------- 健康检查 -----------
# nginx 自身探活,用于负载均衡器和 healthcheck.sh
location /health {
return 200 "ok\n";
add_header Content-Type text/plain;
}
# ----------- 版本管理服务update-service:8084-----------
# 包含APP 版本列表、RN 热更新包、应用市场发布状态
location /api/v1/updates/ {
proxy_pass http://update-service:8084/api/v1/updates/;
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_read_timeout 60s;
}
# RN 热更新包下载和列表
location /api/v1/rn/ {
proxy_pass http://update-service:8084/api/v1/rn/;
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_read_timeout 120s;
}
# ----------- IM 服务im-service:8082-----------
# IM HTTP API消息发送、会话管理、平台事件
location /api/im/ {
proxy_pass http://im-service:8082/api/im/;
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_read_timeout 60s;
}
# IM WebSocket 长连接(客户端消息收发)
# 注意:不加尾部斜杠,否则 /ws/im?token=xxx 不匹配nginx prefix matching 不含 ?
location /ws/im {
proxy_pass http://im-service:8082/ws/im;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_read_timeout 3600s; # WebSocket 保持 1 小时
}
# ----------- License 服务license-service:8085-----------
# 注意:必须在通用 /api/ 之前声明
location /api/license/ {
proxy_pass http://license-service:8085/api/license/;
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_read_timeout 60s;
}
# ----------- 文件服务 API 路径file-service:8086-----------
# 注意:必须在通用 /api/ 之前声明,防止走 tenant-service 的 100m 限制
location /api/file/ {
proxy_pass http://file-service:8086/api/file/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 500m;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
}
# ----------- 核心 APItenant-service:9001-----------
# 注意tenant-service 运行在 9001 端口(不是 8080
# 包含认证、租户管理、App 管理、SDK 配置、私有化部署状态
location /api/ {
proxy_pass http://tenant-service:9001/api/;
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_read_timeout 60s;
}
# Spring Boot Actuator 健康检查(内部监控用)
location /actuator/ {
proxy_pass http://tenant-service:9001/actuator/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# ----------- 文件服务file-service:8086-----------
# 文件上传下载,支持大文件(最大 500MB
location /file/ {
proxy_pass http://file-service:8086/file/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 500m;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
}
# ----------- 文档站tenant-web 内置,VitePress base=/docs/-----------
location /docs/ {
proxy_pass http://tenant-web:80/docs/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# ----------- 运营后台ops-web:80-----------
# 管理员登录入口http://<部署地址>/ops
location /ops {
proxy_pass http://ops-web:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# ----------- 控制台前端tenant-web:80-----------
# 租户登录界面,兜底路由,必须放最后
# sub_filter 替换 JS bundle 中硬编码的生产域名,私有化部署不再出现 xuqinmin.com
# Accept-Encoding "" 禁用上游压缩,保证 sub_filter 能处理 JS 文本内容
location / {
proxy_pass http://tenant-web:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Accept-Encoding "";
sub_filter 'wss://im.dev.xuqinmin.com/ws/im' 'ws://$host/ws/im';
sub_filter 'https://dev.xuqinmin.com' 'http://$host';
sub_filter_once off;
sub_filter_types text/javascript application/javascript; # text/html 是 nginx 默认,无需重复声明
}
}

查看文件

@ -1,24 +0,0 @@
{
"schemaVersion": 1,
"configVersion": "2026.05.18-private.1",
"deployment": "PRIVATE",
"appKey": "ak_private_default",
"controlBaseUrl": "https://console.customer.com",
"fileBaseUrl": "https://file.customer.com",
"imApiBaseUrl": "https://im.customer.com",
"imWsUrl": "wss://im.customer.com/ws/im",
"pushBaseUrl": "https://push.customer.com",
"updateBaseUrl": "https://update.customer.com",
"licenseBaseUrl": "https://license.customer.com",
"docsBaseUrl": "https://docs.customer.com",
"features": {
"file": true,
"im": false,
"push": false,
"update": false,
"license": false
},
"connectTimeoutMs": 10000,
"readTimeoutMs": 30000,
"logLevel": "WARN"
}

查看文件

@ -1,5 +0,0 @@
TENANT_BOOTSTRAP_EMAIL=admin@customer.com
TENANT_BOOTSTRAP_USERNAME=admin
TENANT_BOOTSTRAP_PASSWORD=change-me-on-first-login
TENANT_BOOTSTRAP_APP_KEY=ak_private_default

查看文件

@ -1,41 +0,0 @@
# ========== Huawei Push (HMS) ==========
HUAWEI_PUSH_ENABLED=false
# HUAWEI_PUSH_APP_ID=
# HUAWEI_PUSH_APP_SECRET=
# HUAWEI_PUSH_CLIENT_ID=
# HUAWEI_PUSH_CLIENT_SECRET=
# ========== Xiaomi Push ==========
MI_PUSH_ENABLED=false
# MI_PUSH_APP_SECRET=
# MI_PUSH_PACKAGE_NAME=
# ========== OPPO Push ==========
OPPO_PUSH_ENABLED=false
# OPPO_PUSH_APP_KEY=
# OPPO_PUSH_MASTER_SECRET=
# ========== vivo Push ==========
VIVO_PUSH_ENABLED=false
# VIVO_PUSH_APP_ID=
# VIVO_PUSH_APP_KEY=
# VIVO_PUSH_APP_SECRET=
# ========== Honor Push ==========
HONOR_PUSH_ENABLED=false
# HONOR_PUSH_APP_ID=
# HONOR_PUSH_CLIENT_ID=
# HONOR_PUSH_CLIENT_SECRET=
# ========== APNs (Apple Push) ==========
APNS_ENABLED=false
# APNS_KEY_ID=
# APNS_TEAM_ID=
# APNS_BUNDLE_ID=
# APNS_KEY_FILE=/config/vendors/apns-key.p8
# APNS_PRODUCTION=false
# ========== FCM (Firebase Cloud Messaging — optional) ==========
FCM_ENABLED=false
# FCM_SERVER_KEY=
# FCM_PROJECT_ID=

查看文件

@ -1,28 +0,0 @@
# ========== Huawei AppGallery Connect ==========
HUAWEI_STORE_ENABLED=false
# HUAWEI_STORE_CLIENT_ID=
# HUAWEI_STORE_CLIENT_SECRET=
# HUAWEI_STORE_APP_ID=
# ========== Xiaomi Developer Platform ==========
MI_STORE_ENABLED=false
# MI_STORE_USERNAME=
# MI_STORE_PASSWORD=
# MI_STORE_APP_ID=
# ========== OPPO Open Platform ==========
OPPO_STORE_ENABLED=false
# OPPO_STORE_CLIENT_ID=
# OPPO_STORE_CLIENT_SECRET=
# OPPO_STORE_PKG_NAME=
# ========== vivo Open Platform ==========
VIVO_STORE_ENABLED=false
# VIVO_STORE_ACCESS_KEY=
# VIVO_STORE_ACCESS_SECRET=
# ========== Honor Developer Center ==========
HONOR_STORE_ENABLED=false
# HONOR_STORE_CLIENT_ID=
# HONOR_STORE_CLIENT_SECRET=
# HONOR_STORE_APP_ID=

查看文件

@ -1,37 +0,0 @@
DEPLOYMENT_MODE=PRIVATE
TENANT_REGISTER_ENABLED=false
TENANT_BOOTSTRAP_ENABLED=true
ENABLE_FILE=true
ENABLE_IM=false
ENABLE_PUSH=false
ENABLE_UPDATE=false
ENABLE_LICENSE=false
MYSQL_HOST=127.0.0.1
MYSQL_PORT=3306
MYSQL_DATABASE=xuqm_private
MYSQL_USERNAME=xuqm
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_DATABASE=0
CONSOLE_DOMAIN=https://console.customer.com
OPS_DOMAIN=https://ops.customer.com
DOCS_DOMAIN=https://docs.customer.com
FILE_DOMAIN=https://file.customer.com
IM_DOMAIN=https://im.customer.com
UPDATE_DOMAIN=https://update.customer.com
LICENSE_DOMAIN=https://license.customer.com
PUSH_DOMAIN=https://push.customer.com
# Internal service URLs (used by SDK config endpoint)
SDK_FILE_SERVICE_URL=https://file.customer.com
SDK_IM_API_URL=https://im.customer.com
SDK_IM_WS_URL=wss://im.customer.com/ws/im
# 系统 IM 通信应用 key私有化服务间消息通知使用此 app_key 连接 IM 服务)
# 由 deploy 脚本或 migrate-tenant.sh 自动写入,此处为默认值
SYSTEM_APP_KEY=ak_409e217e4aa14254ad73ad3c