You've already forked DataMate
99 lines
2.3 KiB
YAML
99 lines
2.3 KiB
YAML
services:
|
|
# 1) backend
|
|
datamate-backend:
|
|
container_name: datamate-backend
|
|
image: datamate-backend
|
|
restart: on-failure
|
|
privileged: true
|
|
ports:
|
|
- "8080"
|
|
volumes:
|
|
- dataset_volume:/dataset
|
|
- flow_volume:/flow
|
|
- log_volume:/var/log/datamate
|
|
networks: [ datamate ]
|
|
depends_on:
|
|
- datamate-database
|
|
|
|
# 2) frontend(NodePort 30000)
|
|
datamate-frontend:
|
|
container_name: datamate-frontend
|
|
image: datamate-frontend
|
|
restart: on-failure
|
|
ports:
|
|
- "30000:80" # nodePort → hostPort
|
|
volumes:
|
|
- frontend_log_volume:/var/log/datamate/frontend
|
|
networks: [ datamate ]
|
|
depends_on:
|
|
- datamate-backend
|
|
|
|
# 3) database
|
|
datamate-database:
|
|
container_name: datamate-database
|
|
image: mysql:8
|
|
restart: on-failure
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: password
|
|
ports:
|
|
- "3306"
|
|
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
|
|
- ../../../scripts/db:/docker-entrypoint-initdb.d
|
|
- ./utf8.cnf:/etc/mysql/conf.d/utf8.cnf:ro
|
|
- database_log_volume:/var/log/datamate/database
|
|
networks: [ datamate ]
|
|
|
|
# 3) runtime
|
|
datamate-runtime:
|
|
container_name: datamate-runtime
|
|
image: 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"
|
|
ports:
|
|
- "8081"
|
|
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
|
|
networks: [ datamate ]
|
|
|
|
volumes:
|
|
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
|
|
|
|
networks:
|
|
datamate:
|
|
driver: bridge
|