xiaoxia
7fc72f5888
fix(worker): 修复 healthcheck,容器无 pgrep 改用 Python 检查进程
Deploy / Deploy Staging (push) Failing after 156h46m23s
CI/CD Pipeline / Frontend Lint (push) Failing after 156h47m53s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 156h48m0s
Deploy / Production Browser E2E (push) Failing after 1815h9m12s
Deploy / Build Production Runtime Images (push) Failing after 1815h9m18s
Deploy / Deploy Production (push) Failing after 1815h40m39s
2026-07-03 00:06:32 +08:00
灵应
f243a723c4
fix(worker): 修复 healthcheck 配置,改用进程检查替代 celery inspect ping
...
Tests / lint (pull_request) Failing after 157h17m12s
Tests / test (pull_request) Failing after 157h17m12s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 157h17m56s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 157h18m1s
Deploy / Deploy Staging (push) Failing after 157h31m33s
CI/CD Pipeline / Frontend Lint (push) Failing after 157h32m13s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 157h32m20s
Deploy / Production Browser E2E (push) Failing after 1816h4m14s
Deploy / Build Production Runtime Images (push) Failing after 1816h4m18s
Deploy / Deploy Production (push) Failing after 1816h35m40s
- 修正 celery app 路径错误(app.celery_app → worker_app.celery_app)
- celery inspect ping 依赖 broker 连接,容器内不可靠
- 改用 pgrep -f 'celery.*worker' 进程检查,更稳定
- 调整 start_period 为 30s(与 API 容器保持一致风格)
2026-07-02 23:22:09 +08:00
灵应
e9b6fbcf2c
Merge remote-tracking branch 'origin/main' into develop
...
Deploy / Deploy Staging (push) Failing after 161h20m13s
Tests / lint (pull_request) Failing after 161h20m13s
Tests / test (pull_request) Failing after 161h20m13s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 161h20m48s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 161h20m53s
CI/CD Pipeline / Frontend Lint (push) Failing after 161h21m27s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 161h21m34s
Deploy / Production Browser E2E (push) Failing after 1819h50m9s
Deploy / Build Production Runtime Images (push) Failing after 1819h50m13s
Deploy / Deploy Production (push) Failing after 1820h21m34s
# Conflicts:
# infra/docker/api.Dockerfile
2026-07-02 19:27:52 +08:00
xiaoxia
c697ec9944
fix: infra.yml 端口绑定127.0.0.1、healthcheck间隔优化为30s、添加日志轮转
Deploy / Deploy Staging (push) Failing after 163h32m14s
CI/CD Pipeline / Frontend Lint (push) Failing after 163h32m14s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 163h32m22s
Deploy / Production Browser E2E (push) Failing after 1822h8m18s
Deploy / Deploy Production (push) Failing after 1822h8m20s
Deploy / Build Production Runtime Images (push) Failing after 1822h8m22s
2026-07-02 17:22:12 +08:00
xiaoxia
0b63879c11
fix: infra-production.yml 端口绑定127.0.0.1、healthcheck间隔优化为30s、添加日志轮转
Deploy / Deploy Staging (push) Failing after 163h32m35s
CI/CD Pipeline / Frontend Lint (push) Failing after 163h32m35s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 163h32m42s
Deploy / Production Browser E2E (push) Failing after 1822h8m38s
Deploy / Deploy Production (push) Failing after 1822h8m40s
Deploy / Build Production Runtime Images (push) Failing after 1822h8m42s
2026-07-02 17:21:50 +08:00
xiaoxia
fc924965f7
fix: Nginx 添加 client_max_body_size 和 proxy_request_buffering 配置
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-07-02 17:20:14 +08:00
xiaoxia
c9f95ed5a6
fix: 添加容器日志轮转配置和 Worker 健康检查
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-07-02 17:20:13 +08:00
CI Test
4812249e4e
fix(docker): add validate_release_env.py to API image
...
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 189h37m38s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 189h37m41s
deploy-production.sh runs validate_release_env.py inside the API
container before alembic upgrade. The script was missing from the
image because api.Dockerfile did not COPY scripts/. This caused
production deploy to fail with:
python: can't open file '/app/scripts/validate_release_env.py': [Errno 2]
2026-07-01 15:16:43 +08:00
CI Test
7d1d086c94
Merge develop → main: 端口绑定安全修复 + CI workflow同步
Auto Merge PRs / auto-merge (push) Failing after 31s
Deploy / Deploy Staging (push) Failing after 205h21m26s
CI/CD Pipeline / Frontend Lint (push) Failing after 205h24m40s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 205h24m48s
Deploy / Production Browser E2E (push) Failing after 1863h44m10s
Deploy / Deploy Production (push) Failing after 1863h50m45s
Deploy / Build Production Runtime Images (push) Failing after 1863h53m54s
2026-06-30 23:00:42 +08:00
CI Test
4b8605c679
security: 端口绑定限制为 127.0.0.1 (API/Web)
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 205h32m24s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 205h32m34s
2026-06-30 22:59:32 +08:00
Audit Bot
c22ab58ff2
fix(deploy): build/push API+Worker images to registry for staging deploy
...
Deploy / Deploy Staging (push) Failing after 209h0m7s
CI/CD Pipeline / Frontend Lint (push) Failing after 209h0m36s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 209h0m45s
Deploy / Production Browser E2E (push) Failing after 1867h15m39s
Deploy / Deploy Production (push) Failing after 1867h15m41s
Deploy / Build Production Runtime Images (push) Failing after 1867h16m27s
- Add 'Build and push staging API/Worker images' step in deploy.yml
- Update inline deploy script to pass REGISTRY/API_IMAGE/WORKER_IMAGE
- Update deploy-staging.sh to default to registry-prefixed image names
- Fix infra container checks to use -staging suffix
2026-06-30 19:53:49 +08:00
CI Test
4f5e14862b
fix(deploy): check staging-suffixed infra container names in deploy-staging.sh
Deploy / Deploy Staging (push) Failing after 209h7m2s
CI/CD Pipeline / Frontend Lint (push) Failing after 209h7m37s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 209h7m48s
Deploy / Production Browser E2E (push) Failing after 1867h40m46s
Deploy / Build Production Runtime Images (push) Failing after 1867h40m49s
Deploy / Deploy Production (push) Failing after 1868h12m9s
2026-06-30 19:46:45 +08:00
xiaoxia
51e3cf5454
Merge pull request 'Sync develop → main (v0.1.101)' ( #121 ) from develop into main
Auto Merge PRs / auto-merge (push) Failing after 46s
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Build Production Runtime Images (push) Failing after 217h42m1s
Deploy / Deploy Staging (push) Failing after 1876h18m13s
2026-06-30 11:10:59 +08:00
Audit Bot
1bbf569e0c
fix: 修复 Docker Nginx 缺少 client_max_body_size 导致上传文件受限
...
- 添加 client_max_body_size 800m(与生产 Nginx 配置对齐)
- 添加 proxy_request_buffering off(避免大文件缓冲问题)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-30 10:42:27 +08:00
Audit Bot
b98c83582b
fix: 上传文件大小限制从 800MB 提升至 2000MB
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
P0 修复:
- config.py: OSS_DIRECT_UPLOAD_MAX_MB 默认值从 800 改为 2000
- config.py: 添加 AliasChoices 支持 MAX_UPLOAD_SIZE_MB 环境变量
(.env.production 中 MAX_UPLOAD_SIZE_MB=2000 现在可被正确读取)
P1 修复:
- infra/nginx/xiaoxia-saas.conf: client_max_body_size 800m → 2g(3处)
- infra/docker/nginx-production.conf: client_max_body_size 800m → 2g
2026-06-29 22:11:22 +08:00
API文档维护Agent
4f9feb8c5a
fix: API Dockerfile 添加 scripts/ 目录拷贝
...
Tests / lint (pull_request) Failing after 243h40m17s
Tests / test (pull_request) Failing after 243h40m17s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 243h40m52s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 243h40m53s
deploy-production.sh 在 API 容器内执行
python /app/scripts/validate_release_env.py,
当前 Dockerfile 未 COPY scripts 目录导致文件不存在、Deploy 步骤失败。
添加 COPY scripts/ /app/scripts/ 使部署验证脚本可用。
2026-06-29 09:13:27 +08:00
xiaoxia
18873e9db9
fix: 修复 APP_VERSION 环境变量读取 - 从 env_file 中读取而非使用默认值
Auto Merge PRs / auto-merge (push) Failing after 35s
2026-06-29 07:22:26 +08:00
xiaoxia
d3fce20921
fix(compose): remove conflicting mem_limit, consolidate to deploy.resources.limits
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Production (push) Failing after 245h20m33s
Deploy / Build Production Runtime Images (push) Failing after 245h36m44s
Deploy / Deploy Staging (push) Failing after 1904h12m56s
2026-06-29 04:18:41 +08:00
CI Test
79cc6b0dcc
Release v0.1.71: Phase 1 核心重构 + Phase 2 查重/订阅前端/后端 + P0 修复
2026-06-28 18:16:42 +08:00
xiaoxia
71825df8b2
fix: include alembic directory in API Docker image for migrations
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 16:36:37 +08:00
CI Test
3292a5d655
fix: 持久化 api/worker 容器内存限制,改用 mem_limit: 2g 替代 deploy.resources.limits.memory
2026-06-28 11:19:50 +08:00
CI Test
ec96feee22
fix(deploy): Worker 容器内存限制从 4G 降至 2G
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- Worker 实际内存使用仅 ~156MiB,4G 限制远超需求
- 业务服务器总内存仅 1.7Gi,过高限制影响其他容器
- 2G 限制已足够应对视频处理峰值需求
2026-06-28 10:30:09 +08:00
CI Test
46d9b9edfe
fix: add Chinese apt mirrors to both Dockerfiles for faster builds
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
Tests / lint (push) Failing after 1938h51m54s
Tests / test (push) Failing after 1938h51m59s
2026-06-27 20:38:37 +08:00
CI Test
aade9fa938
fix: add HTTPS pip mirror to api.Dockerfile to fix build failure
2026-06-27 20:26:41 +08:00
Celery Worker Fix Agent
8210806632
fix: 修复 Celery Worker 任务注册和导入问题
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
1. 修复 Worker 启动入口: celery_app → worker_app.celery_app
- 旧 celery_app.py 不导入任何任务模块,导致 Worker 注册 0 个任务
- 删除旧版 apps/worker/celery_app.py,统一使用 worker_app/celery_app.py
2. 为缺少装饰器的任务补充 @celery_app.task:
- classification.py: classify_asset() 添加装饰器
- generation.py: generate_video() 添加装饰器,修正签名匹配 API 调用方式
3. 确保 voice_extraction 任务被正确注册:
- 添加 voice_extraction 到 celery_app imports
- 修复 voice_extraction.py 中错误的相对导入 (.celery_app → worker_app.celery_app)
- 修复 dedup.py 中指向已删除模块的导入
4. 修复 worker_app/celery_app.py:
- 添加 broker_connection_retry_on_startup=True
- imports 中添加 voice_extraction 和 dedup 模块
5. 修复 Dockerfile:
- CMD 改为 celery -A worker_app.celery_app
- 添加非 root 用户 celery 运行 Worker
6. 新建 packages/shared/config.py 和 storage.py 兼容层
- 为 worker 任务模块提供统一的 config/storage 访问入口
2026-06-27 19:31:07 +08:00
XiaoXia Bot
0b990017ca
fix(security): 删除 .env.production 并清理硬编码密码
...
- 删除 .env.production(含占位符密钥,已从版本控制移除)
- scripts/smoke_public_*.py: 密码改为从环境变量 SMOKE_TEST_PASSWORD 读取
- infra/docker/infra.yml: POSTGRES_PASSWORD 改为引用环境变量
- packages/application/auth/jwt_handler.py: 文档示例密钥改为占位符
2026-06-27 18:10:52 +08:00
xiaoxia
a5c5da50c6
fix: 修复 jwt_service.py 错误的 settings 导入路径导致登录 401
...
- packages.config.settings 模块不存在,改为 from app.config import settings
- 此 bug 导致 JWT token 生成时 ModuleNotFoundError,被 except 捕获后返回通用 401
2026-06-27 17:17:38 +08:00
xiaoxia
a6e85092ce
fix: 统一 ENABLE_REDIS_SESSIONS 命名,修复登录因 AttributeError 导致 500
2026-06-27 17:05:48 +08:00
CI Bot
11494918eb
fix: resolve all workspace removal breakage - stub permissions, quota, ports, adapters
...
- Remove Workspace from domain/__init__.py exports
- Stub domain/permissions.py (all checks pass)
- Stub domain/quota.py (all checks pass)
- Create missing port stubs: workspace_member_repository, workspace_repository, workspace_invitation_repository
- Create missing adapter stubs: workspace_repository, workspace_invitation_repository
- Create routes/permissions.py stub (require_workspace_member no-op)
- Fix .env Redis URL encoding on production server
2026-06-27 09:16:53 +08:00
CI Bot
0c97f40825
Merge branch 'pr-35' into develop
2026-06-27 00:23:55 +08:00
Deploy Agent
78e1af1054
feat: 标准化部署流程和文档化
...
- 添加 docs/deployment.md 完整部署文档,包含:
- 环境要求
- 首次部署流程
- 版本更新流程
- 回滚流程
- 常见问题排查
- 环境变量说明
- 添加标准化部署脚本:
- scripts/deploy_production.sh: 生产环境部署脚本
- scripts/deploy_staging.sh: 预发布环境部署脚本
- scripts/rollback.sh: 回滚脚本(支持交互式和命令行模式)
- 完善 infra/docker/compose.yml:
- 添加详细注释说明
- 添加资源限制建议(注释)
- 记录 web volume 挂载的注意事项(避免 403 问题)
- 添加 .github/workflows/release.yml:
- 完整的发布流程
- 构建所有三个镜像(api、worker、web)
- 自动部署到生产环境
- E2E 测试和 GitHub Release 创建
2026-06-27 00:09:46 +08:00
xiaoxia
e915c0d6df
fix: 创建 API 和 Worker Dockerfiles
...
- 创建 infra/docker/api.Dockerfile 用于 FastAPI 应用
- 创建 infra/docker/worker.Dockerfile 用于 Celery Worker
- 使用 python:3.12-slim-bookworm 作为基础镜像
- Worker 包含 ffmpeg 和 opencv 依赖(用于视频处理)
- API 包含 PostgreSQL 开发库(用于 psycopg2 编译)
- 分离镜像减少不必要的依赖
2026-06-27 00:04:15 +08:00
xiaoxia
0fb4d95bd0
fix: Web Dockerfile API URL 改为通用默认值
...
- 将硬编码的 VITE_API_URL=http://47.98.113.167:8000 改为 https://saas-api.xiaoxiajianji.com
- 支持通过 --build-arg VITE_API_URL=xxx 在构建时覆盖默认值
2026-06-27 00:02:34 +08:00
xiaoxia
df8fe4dba3
fix: P3-3 add multi-stage build to api.Dockerfile
2026-06-26 17:56:51 +08:00
Xiaoxia AI
12b2eeb050
fix(deploy): load production web artifact on business host
2026-06-25 01:51:17 +08:00
Xiaoxia AI
a35abd155c
fix(deploy): guard staging builds on business host
2026-06-24 22:54:55 +08:00
Xiaoxia AI
1c883ec704
fix(deploy): make staging web build opt-in
2026-06-24 19:51:34 +08:00
Xiaoxia AI
bdb87508a1
fix(deploy): reuse staging backend images by default
2026-06-24 19:48:12 +08:00
Xiaoxia AI
bf452e3510
fix(ops): prune old docker artifacts after deploy
2026-06-23 22:39:18 +08:00
Xiaoxia AI
efa86088b8
fix(web): preserve lazy chunks across releases
2026-06-23 18:32:17 +08:00
Xiaoxia AI
f65a6a4145
fix(upload): raise production upload limit to 800mb
2026-06-23 12:32:11 +08:00
Xiaoxia AI
159ebae0f2
fix(upload): support mov assets and large web uploads
2026-06-23 11:44:10 +08:00
Xiaoxia AI
545f2cba0f
fix(web): allow production uploads through web proxy
2026-06-23 11:21:39 +08:00
Xiaoxia AI
b7b0765ba6
docs(release): close package one boundary validation
2026-06-23 10:04:56 +08:00
Xiaoxia AI
816d98175a
fix(ops): expose release version and limit worker concurrency
2026-06-23 07:52:19 +08:00
Xiaoxia AI
fb633a8ed4
fix(deploy): recreate web after api release
2026-06-22 20:07:16 +08:00
Xiaoxia AI
8a9542274f
fix(deploy): require runtime image artifact for production
2026-06-22 14:53:48 +08:00
Xiaoxia AI
6fb8d11cec
fix(deploy): skip runtime image builds on production host
2026-06-22 10:04:26 +08:00
Xiaoxia AI
1cf43fa6a0
fix(deploy): isolate production web api proxy
2026-06-22 10:02:03 +08:00
Xiaoxia AI
1939878dec
fix(deploy): require prebuilt web artifact for production
2026-06-22 09:34:27 +08:00