# === iOS 自动打包服务配置 === # 复制此文件为 .env 并修改为实际值 # ---- 目录配置 ---- # 源码根目录;未配置远程仓库时,每个分支一个子目录 GIT_SOURCE_BASE=./ReadoorBranches # 配置远程仓库时使用的唯一共享源码工作目录;服务会串行切分支、清理并复制快照 GIT_SOURCE_DIR=./ReadoorBranches/workspace # 打包输出基础目录(每次打包会在此目录下创建子目录) BUILD_BASE_DIR=./build # ---- 分支源码管理 ---- # Git 远程仓库地址;配置后所有分支共用 GIT_SOURCE_DIR GIT_REMOTE_URL=https://git.example.com/group/repo.git # 私有仓库:使用只读 Personal Access Token,不要使用账号登录密码。 GIT_USERNAME=git-readonly-user GIT_PASSWORD=cc774880b9d9b368c5f24a3821ee745dd5e4c949 # ---- 服务端口 ---- BACKEND_PORT=5002 FRONTEND_PORT=5999 # ---- 管理员账号 ---- ADMIN_USERNAME=admin ADMIN_PASSWORD=change-this-before-starting # ---- JWT 认证 ---- # JWT 签名密钥(生产环境务必修改为随机字符串) JWT_SECRET=replace-with-a-random-string-of-at-least-32-characters # ---- 公网部署 ---- # production 会拒绝默认密钥、通配 CORS 和未配置的可信主机。 APP_ENV=production # Uvicorn 只监听本机,由 Nginx/Caddy 提供 HTTPS 和公网访问。 BIND_HOST=127.0.0.1 CORS_ALLOWED_ORIGINS=https://build.example.com TRUSTED_HOSTS=build.example.com # 登录失败 5 次后锁定 15 分钟。 LOGIN_RATE_LIMIT_MAX_ATTEMPTS=5 LOGIN_RATE_LIMIT_WINDOW_SECONDS=300 LOGIN_RATE_LIMIT_LOCKOUT_SECONDS=900 # ---- 并发与清理 ---- # 最大并行打包数 MAX_CONCURRENT_BUILDS=2 # 打包目录保留时间(小时) BUILD_DIR_RETENTION_HOURS=24 # 打包超时时间(小时),超时自动标记失败 BUILD_TIMEOUT_HOURS=1 # ---- Watchdog 健康监测 ---- # 健康检查间隔(秒) WATCHDOG_INTERVAL=30 # 健康检查 HTTP 超时(秒) WATCHDOG_TIMEOUT=10 # 连续重启次数上限,超过后进入冷却 MAX_RESTART_ATTEMPTS=3 # 冷却时间(秒),连续重启超限后等待多久再重试 COOLDOWN_SECONDS=300