feat: WC2026 赛事 seed、生产上线初始化脚本与目录归档

重构 seed 为 WC2026 72 场小组赛与 48 强优胜盘;新增 production 模式仅保留 admin 与赛事示例;提供 prod-init-db 全量重置脚本;管理端 i18n 分包与赛事归档能力。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-12 18:17:00 +08:00
parent 8f14e85ebd
commit e7e938f261
94 changed files with 12332 additions and 976 deletions

View File

@@ -40,25 +40,14 @@ services:
context: .
dockerfile: docker/api/Dockerfile
container_name: thebet365-api
env_file:
- .env.docker
environment:
DATABASE_URL: postgresql://thebet365:${POSTGRES_PASSWORD:-thebet365}@postgres:5432/thebet365
REDIS_URL: redis://redis:6379
JWT_SECRET: ${JWT_SECRET:-change-me-in-production-use-long-random-string}
JWT_PLAYER_EXPIRES: ${JWT_PLAYER_EXPIRES:-24h}
JWT_ADMIN_EXPIRES: ${JWT_ADMIN_EXPIRES:-2h}
JWT_AGENT_EXPIRES: ${JWT_AGENT_EXPIRES:-8h}
PORT: 3000
NODE_ENV: production
UPLOAD_DIR: /app/uploads
SEED_DATABASE: ${SEED_DATABASE:-false}
CHUANGLAN_ACCOUNT: ${CHUANGLAN_ACCOUNT}
CHUANGLAN_PASSWORD: ${CHUANGLAN_PASSWORD}
CHUANGLAN_ENDPOINT: ${CHUANGLAN_ENDPOINT:-https://sgap.253.com/send/sms}
CHUANGLAN_CONNECT_TIMEOUT_MS: ${CHUANGLAN_CONNECT_TIMEOUT_MS:-10000}
CHUANGLAN_READ_TIMEOUT_MS: ${CHUANGLAN_READ_TIMEOUT_MS:-10000}
SMS_CODE_TTL_SECONDS: ${SMS_CODE_TTL_SECONDS:-300}
SMS_RATE_LIMIT_SECONDS: ${SMS_RATE_LIMIT_SECONDS:-60}
SMS_DEBUG_LOG_CODE: ${SMS_DEBUG_LOG_CODE:-false}
volumes:
- uploads_data:/app/uploads
depends_on: