Files
DataMate/deployment/docker/datamate/docker-compose.yml
Jerry Yan 9d185bb10c feat(deploy): 添加上传文件存储卷配置
- 新增 uploads_volume 卷用于存储上传文件
- 配置卷名称为 datamate-uploads-volume
- 将上传卷挂载到容器 /uploads 目录
- 更新部署配置以支持文件上传功能
2026-02-01 22:34:14 +08:00

187 lines
4.8 KiB
YAML

services:
# 1) backend
datamate-backend:
container_name: datamate-backend
image: ${REGISTRY:-}datamate-backend
restart: on-failure
privileged: true
volumes:
- dataset_volume:/dataset
- flow_volume:/flow
- log_volume:/var/log/datamate
- operator-upload-volume:/operators/upload
- operator-runtime-volume:/operators/extract
- uploads_volume:/uploads
networks: [ datamate ]
depends_on:
- datamate-database
# 1) backend (Python)
datamate-backend-python:
container_name: datamate-backend-python
image: ${REGISTRY:-}datamate-backend-python
restart: on-failure
privileged: true
environment:
- log_level=DEBUG
volumes:
- dataset_volume:/dataset
- flow_volume:/flow
- log_volume:/var/log/datamate
networks: [ datamate ]
depends_on:
- datamate-database
datamate-gateway:
container_name: datamate-gateway
image: ${REGISTRY:-}datamate-gateway
restart: on-failure
privileged: true
networks: [ datamate ]
# 2) frontend(NodePort 30000)
datamate-frontend:
container_name: datamate-frontend
image: ${REGISTRY:-}datamate-frontend
restart: on-failure
ports:
- "30000:80" # nodePort → hostPort
volumes:
- frontend_log_volume:/var/log/datamate/frontend
networks: [ datamate ]
depends_on:
- datamate-backend
- datamate-backend-python
# 3) database
datamate-database:
container_name: datamate-database
image: ${REGISTRY:-}datamate-database
restart: on-failure
environment:
MYSQL_ROOT_PASSWORD: password
command: |
sh -c "
chown mysql:mysql /var/log/datamate/database &&
chmod 755 /var/log/datamate/database &&
exec docker-entrypoint.sh mysqld
"
volumes:
- mysql_volume:/var/lib/mysql
- database_log_volume:/var/log/datamate/database
ports:
- "3306:3306"
networks: [ datamate ]
# 3) runtime
datamate-runtime:
container_name: datamate-runtime
image: ${REGISTRY:-}datamate-runtime
restart: on-failure
environment:
RAY_DEDUP_LOGS: "0"
RAY_TQDM_PATCH_PRINT: "0"
MYSQL_HOST: "datamate-database"
MYSQL_PORT: "3306"
MYSQL_USER: "root"
MYSQL_PASSWORD: "password"
MYSQL_DATABASE: "datamate"
command:
- python
- /opt/runtime/datamate/operator_runtime.py
- --port
- "8081"
volumes:
- ray_log_volume:/tmp/ray
- log_volume:/var/log/datamate
- dataset_volume:/dataset
- flow_volume:/flow
- operator-runtime-volume:/opt/runtime/datamate/ops/user
- operator-packages-volume:/usr/local/lib/ops/site-packages
networks: [ datamate ]
# 4) mineru
datamate-mineru:
container_name: datamate-mineru
image: datamate-mineru
restart: on-failure
environment:
MINERU_MODEL_SOURCE: local
MINERU_DEVICE_MODE: npu # cpu|cuda|npu|mps
VLLM_WORKER_MULTIPROC_METHOD: spawn
privileged: true
entrypoint: mineru-openai-server
command:
--engine vllm
--host 0.0.0.0
--port 8000
volumes:
- dataset_volume:/dataset
- mineru_log_volume:/var/log/datamate/mineru
- /var/log/npu/:/usr/slog
- /usr/local/dcmi:/usr/local/dcmi
- /usr/local/bin/npu-smi:/usr/local/bin/npu-smi
- /usr/local/Ascend/driver:/usr/local/Ascend/driver
networks: [ datamate ]
profiles: [ mineru ]
devices:
- /dev/davinci0
- /dev/davinci_manager
- /dev/devmm_svm
- /dev/hisi_hdc
# 5) redis
datamate-redis:
container_name: datamate-redis
image: redis:8.2.3
restart: on-failure
ports:
- "6379:6379"
networks: [ datamate ]
datamate-data-juicer:
container_name: datamate-data-juicer
image: datajuicer/data-juicer:v1.4.4
restart: on-failure
command:
- uvicorn
- service:app
- --host
- "0.0.0.0"
volumes:
- dataset_volume:/dataset
- flow_volume:/flow
networks: [ datamate ]
profiles: [ data-juicer ]
volumes:
uploads_volume:
name: datamate-uploads-volume
dataset_volume:
name: datamate-dataset-volume
flow_volume:
name: datamate-flow-volume
log_volume:
name: datamate-log-volume
mysql_volume:
name: datamate-mysql-volume
ray_log_volume:
name: datamate-ray-log-volume
frontend_log_volume:
name: datamate-frontend-log-volume
database_log_volume:
name: datamate-database-log-volume
operator-upload-volume:
name: datamate-operator-upload-volume
operator-runtime-volume:
name: datamate-operator-runtime-volume
operator-packages-volume:
name: datamate-operator-packages-volume
mineru_log_volume:
name: datamate-mineru_log_volume
networks:
datamate:
driver: bridge
name: datamate-network