version: "3"
services:
nginx:
image: nginx
container_name: nginx
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/html:/usr/share/nginx/html
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
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
redis:
image: redis:6.0.9
container_name: redis
restart: always
ports:
- "6379:6379"
command:
redis-server --requirepass ezdata123 --appendonly yes
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
volumes:
- ./elasticsearch/data:/usr/share/elasticsearch/data
ports:
- '9200:9200'
- '9300:9300'