67 lines
1.7 KiB
YAML
67 lines
1.7 KiB
YAML
name: fida-python-prod
|
||
|
||
services:
|
||
server:
|
||
container_name: "FiDA_${SERVE_ENV}_Server"
|
||
build:
|
||
context: .
|
||
dockerfile: Dockerfile
|
||
working_dir: /app
|
||
volumes:
|
||
- ./:/app
|
||
- ./.env:/app/.env
|
||
- /etc/localtime:/etc/localtime:ro
|
||
ports:
|
||
- "${SERVE_PORT}:80"
|
||
environment:
|
||
- SERVE_ENV=${SERVE_ENV}
|
||
restart: unless-stopped
|
||
|
||
# ==================== Worker 1: img_to_3d(重资源,建议只跑1个) ====================
|
||
img_worker:
|
||
container_name: "FiDA_${SERVE_ENV}_ImgWorker"
|
||
build:
|
||
context: .
|
||
dockerfile: Dockerfile
|
||
working_dir: /app
|
||
command: >
|
||
celery -A src.server.canvas_generate_3D.celery_app worker
|
||
-n img_worker@%h
|
||
-Q img_to_3d_queue
|
||
--concurrency=1
|
||
--prefetch-multiplier=1
|
||
--max-tasks-per-child=1
|
||
--loglevel=INFO
|
||
volumes:
|
||
- ./:/app
|
||
- ./.env:/app/.env
|
||
- /etc/localtime:/etc/localtime:ro
|
||
environment:
|
||
- SERVE_ENV=${SERVE_ENV}
|
||
depends_on:
|
||
- server # 可选:等 server 启动后再启动 worker
|
||
restart: unless-stopped
|
||
|
||
# ==================== Worker 2: 3d_to_3views ====================
|
||
views_worker:
|
||
container_name: "FiDA_${SERVE_ENV}_ViewsWorker"
|
||
build:
|
||
context: .
|
||
dockerfile: Dockerfile
|
||
working_dir: /app
|
||
command: >
|
||
celery -A src.server.canvas_generate_3D.celery_app worker
|
||
-n views_worker@%h
|
||
-Q 3d_to_3views_queue
|
||
--concurrency=2
|
||
--prefetch-multiplier=1
|
||
--loglevel=INFO
|
||
volumes:
|
||
- ./:/app
|
||
- ./.env:/app/.env
|
||
- /etc/localtime:/etc/localtime:ro
|
||
environment:
|
||
- SERVE_ENV=${SERVE_ENV}
|
||
depends_on:
|
||
- server
|
||
restart: unless-stopped |