feat: 新增 bugcollect-service 支持一键更新

- docker-compose.yml: 新增 bugcollect-service(profile: bugcollect)
- nginx/conf.d/xuqm.conf: 新增 /api/bugcollect/ 代理规则
- .env.example: 新增 bugcollect profile 和 ENABLE_BUGCOLLECT 开关

Co-Authored-By: Claude <noreply@anthropic.com>
这个提交包含在:
徐勤民 2026-06-18 21:21:24 +08:00
父节点 28fdd0ed78
当前提交 70ed2fcae0
共有 3 个文件被更改,包括 39 次插入0 次删除

查看文件

@ -63,6 +63,7 @@ ENABLE_IM=true
ENABLE_PUSH=true ENABLE_PUSH=true
ENABLE_UPDATE=true ENABLE_UPDATE=true
ENABLE_LICENSE=true ENABLE_LICENSE=true
ENABLE_BUGCOLLECT=true
# ============================================================================= # =============================================================================
# MySQL 配置 # MySQL 配置

查看文件

@ -57,6 +57,16 @@ server {
proxy_read_timeout 3600s; proxy_read_timeout 3600s;
} }
# Bug 收集 — 必须在通用 /api/ 之前
location /api/bugcollect/ {
set $svc bugcollect-service;
proxy_pass http://$svc:9006;
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;
}
# License — 必须在通用 /api/ 之前 # License — 必须在通用 /api/ 之前
location /api/license/ { location /api/license/ {
set $svc license-service; set $svc license-service;

查看文件

@ -180,3 +180,31 @@ services:
SPRING_DATASOURCE_URL: "jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT:-3306}/${MYSQL_DATABASE:-xuqm_private}?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true" SPRING_DATASOURCE_URL: "jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT:-3306}/${MYSQL_DATABASE:-xuqm_private}?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true"
SPRING_DATASOURCE_USERNAME: "${MYSQL_USERNAME:-xuqm}" SPRING_DATASOURCE_USERNAME: "${MYSQL_USERNAME:-xuqm}"
restart: unless-stopped restart: unless-stopped
# ---------------------------------------------------------------------------
# Bug 收集服务(可选)
# 端口9006内部,nginx 代理 /api/bugcollect/*
# 使用独立数据库xuqm_bugcollect,Flyway 自动建表
# ---------------------------------------------------------------------------
bugcollect-service:
image: ${REGISTRY}/xuqm-bugcollect-service:${IMAGE_TAG}
profiles: ["bugcollect"]
ports:
- "127.0.0.1:${SVC_PORT_BUGCOLLECT:-11232}:9006"
environment:
JAVA_TOOL_OPTIONS: "-Xms128m -Xmx512m -XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0"
SPRING_PROFILES_ACTIVE: "prod"
SPRING_DATASOURCE_URL: "jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT:-3306}/${BUGCOLLECT_DB:-xuqm_bugcollect}?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true"
SPRING_DATASOURCE_USERNAME: "${MYSQL_USERNAME:-xuqm}"
SPRING_DATASOURCE_PASSWORD: "${MYSQL_PASSWORD}"
SPRING_DATA_REDIS_HOST: "${REDIS_HOST}"
SPRING_DATA_REDIS_PORT: "${REDIS_PORT:-6379}"
SPRING_DATA_REDIS_DATABASE: "${REDIS_DATABASE:-0}"
SERVER_PORT: "9006"
JWT_SECRET: "${JWT_SECRET:-xuqm-bugcollect-jwt-secret}"
SPRING_FLYWAY_IGNORE_MIGRATION_PATTERNS: "*:Missing"
deploy:
resources:
limits:
memory: 512m
restart: unless-stopped