feat: 添加统一启动脚本,支持通过环境变量配置workers数量
All checks were successful
continuous-integration/drone/push Build is passing

- 新增 start.sh 启动脚本,根据 WORKERS/RELOAD 环境变量自动配置
- 修改 Dockerfile 使用启动脚本,默认 WORKERS=4
- 更新 docker-compose.prod-multi.yml,所有租户使用环境变量配置
- 生产环境默认4个workers,提升并发处理能力

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yuliang_guo
2026-02-03 14:25:34 +08:00
parent 879247c8e9
commit e110067840
3 changed files with 58 additions and 69 deletions

View File

@@ -78,16 +78,17 @@ services:
environment:
- TZ=Asia/Shanghai
- PYTHONPATH=/app
- WORKERS=4 # 生产环境4个workers
- RELOAD=false # 生产环境关闭热重载
ports:
- "8010:8000"
volumes:
- ./kaopeilian-backend/app:/app/app # 代码热重载
- ./kaopeilian-backend/app:/app/app
- /data/prod-envs/uploads-hua:/app/uploads
- /data/prod-envs/logs-hua:/app/logs
- /data/prod-envs/secrets:/app/secrets:ro
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
networks:
- prod-network
- kaopeilian-network
@@ -164,16 +165,17 @@ services:
environment:
- TZ=Asia/Shanghai
- PYTHONPATH=/app
- WORKERS=4
- RELOAD=false
ports:
- "8011:8000"
volumes:
- ./kaopeilian-backend/app:/app/app # 代码热重载
- ./kaopeilian-backend/app:/app/app
- /data/prod-envs/uploads-yy:/app/uploads
- /data/prod-envs/logs-yy:/app/logs
- /data/prod-envs/secrets:/app/secrets:ro
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
networks:
- prod-network
- kaopeilian-network
@@ -250,16 +252,17 @@ services:
environment:
- TZ=Asia/Shanghai
- PYTHONPATH=/app
- WORKERS=4
- RELOAD=false
ports:
- "8012:8000"
volumes:
- ./kaopeilian-backend/app:/app/app # 代码热重载
- ./kaopeilian-backend/app:/app/app
- /data/prod-envs/uploads-hl:/app/uploads
- /data/prod-envs/logs-hl:/app/logs
- /data/prod-envs/secrets:/app/secrets:ro
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
networks:
- prod-network
- kaopeilian-network
@@ -336,16 +339,17 @@ services:
environment:
- TZ=Asia/Shanghai
- PYTHONPATH=/app
- WORKERS=4
- RELOAD=false
ports:
- "8013:8000"
volumes:
- ./kaopeilian-backend/app:/app/app # 代码热重载
- ./kaopeilian-backend/app:/app/app
- /data/prod-envs/uploads-xy:/app/uploads
- /data/prod-envs/logs-xy:/app/logs
- /data/prod-envs/secrets:/app/secrets:ro
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
networks:
- prod-network
- kaopeilian-network
@@ -423,16 +427,17 @@ services:
environment:
- TZ=Asia/Shanghai
- PYTHONPATH=/app
- WORKERS=4
- RELOAD=false
ports:
- "8014:8000"
volumes:
- ./kaopeilian-backend/app:/app/app # 代码热重载
- ./kaopeilian-backend/app:/app/app
- /data/prod-envs/uploads-fw:/app/uploads
- /data/prod-envs/logs-fw:/app/logs
- /data/prod-envs/secrets:/app/secrets:ro
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
networks:
- prod-network
- kaopeilian-network
@@ -508,6 +513,8 @@ services:
environment:
- TZ=Asia/Shanghai
- PYTHONPATH=/app
- WORKERS=4
- RELOAD=false
ports:
- "8016:8000"
volumes:
@@ -517,7 +524,6 @@ services:
- /data/prod-envs/secrets:/app/secrets:ro
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
networks:
- prod-network
- kaopeilian-network