version: "3"
services:
web:
image: "ezdata123/ezdata-web:latest"
container_name: ezdata_web
restart: always
ports:
- "80:80"
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/_app.config.js:/usr/share/nginx/html/dist/_app.config.js
command: ["nginx", "-g", "daemon off;"]
networks:
ezdata:
ipv4_address: 10.233.31.0
master:
image: "ezdata123/ezdata:latest"
container_name: ezdata_master
volumes:
- ./deploy.env:/opt/ezdata/api/deploy.env
environment:
- TZ=Asia/Shanghai
- read_env=1
- ENV=deploy.env
- run_upgrade=1
- upgrade_packages=akshare,ccxt
- run_web=1
- web_worker=4
- run_scheduler=0
- run_flower=0
- run_worker=1
- run_sandbox=0
- sandbox_worker=4
- worker_concurrency=4
- worker_queue=default
- worker_process=prefork
working_dir: /opt/ezdata/api
ports:
- 8001:8001
command: /bin/bash -c "bash init.sh"
privileged: true
restart: always
stdin_open: true
tty: true
networks:
ezdata:
ipv4_address: 10.233.31.1
depends_on:
- mysql
- redis
- minio
- elasticsearch
scheduler:
image: "ezdata123/ezdata:latest"
container_name: ezdata_scheduler
volumes:
- ./deploy.env:/opt/ezdata/api/deploy.env
environment:
- TZ=Asia/Shanghai
- read_env=1
- ENV=deploy.env
- run_upgrade=1
- upgrade_packages=akshare,ccxt
- run_web=0
- web_worker=4
- run_scheduler=1
- run_flower=1
- run_worker=0
- run_sandbox=0
- sandbox_worker=4
- worker_concurrency=4
- worker_queue=default
- worker_process=prefork
working_dir: /opt/ezdata/api
ports:
- 8002:8002
- 5555:5555
command: /bin/bash -c "bash init.sh"
privileged: true
restart: always
stdin_open: true
tty: true
networks:
ezdata:
ipv4_address: 10.233.31.2
depends_on:
- mysql
- redis
- minio
- elasticsearch
mysql:
image: amd64/mysql:8.0.22
container_name: mysql
restart: always
command: [
'--default-authentication-plugin=mysql_native_password',
'--character-set-server=utf8mb4',
'--collation-server=utf8mb4_unicode_ci',
'--log-bin=mysql-bin'
]
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: ezdata123
volumes:
- ./mysql:/var/lib/mysql
networks:
ezdata:
ipv4_address: 10.233.31.3
redis:
image: redis:6.0.9
container_name: redis
restart: always
ports:
- "6379:6379"
command:
redis-server --requirepass ezdata123 --appendonly yes
networks:
ezdata:
ipv4_address: 10.233.31.4
minio:
image: minio/minio
volumes:
- ./minio:/data
ports:
- "9000:9000"
- "19001:19001"
container_name: minio
restart: always
environment:
MINIO_ROOT_USER: minio
MINIO_ROOT_PASSWORD: ezdata123
MINIO_PROMETHEUS_AUTH_TYPE: public
command: server /data --console-address :19001
networks:
ezdata:
ipv4_address: 10.233.31.5
elasticsearch:
image: elasticsearch:7.17.2
container_name: elasticsearch
restart: always
environment:
- discovery.type=single-node
- http.port=9200
- http.cors.enabled=true
- http.cors.allow-origin=*
- http.cors.allow-headers=X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
- http.cors.allow-credentials=false
- bootstrap.memory_lock=true
- ES_JAVA_OPTS=-Xms512m -Xmx512m
ports:
- '9200:9200'
- '9300:9300'
networks:
ezdata:
ipv4_address: 10.233.31.6
networks:
ezdata:
driver: bridge
ipam:
config:
- subnet: 10.233.0.0/16