version: "3" services: im-mysql: container_name: im-mysql image: mysql:5.7 command: --default-authentication-plugin=mysql_native_password restart: always environment: - TZ=Asia/Shanghai - MYSQL_ROOT_PASSWORD=MYSQL_ROOT_USER_PASSWORD - MYSQL_ROOT_HOST=% - MYSQL_IM_USERNAME=MYSQL_USERNAME - MYSQL_IM_PASSWORD=MYSQL_PASSWORD volumes: - deploydir/docker_volumes_data/mysql/data:/var/lib/mysql - deploydir/docker_volumes_data/mysql/mysql.conf.d:/etc/mysql/mysql.conf.d im-redis: container_name: im-redis image: redis:6-alpine command: redis-server --requirepass REDIS_PASSWORD --appendonly yes --appendfsync everysec --auto-aof-rewrite-percentage 100 --auto-aof-rewrite-min-size 100mb restart: always # ports: # - "127.0.0.1:6379:6379" volumes: - deploydir/docker_volumes_data/redis/data:/data im-minio: container_name: im-minio image: bitnami/minio:2024 restart: always # ports: # - 9001:9001 # - 9002:9002 privileged: true environment: - MINIO_SKIP_CLIENT=yes - MINIO_API_PORT_NUMBER=9001 - MINIO_CONSOLE_PORT_NUMBER=9002 # - MINIO_OPTS="--console-address :9002 --address :9001" # - MINIO_DOMAIN=im_minio:9001 - MINIO_DATA_DIR=/data/minio - MINIO_ROOT_USER=MINIO_USERNAME - MINIO_ROOT_PASSWORD=MINIO_PASSWORD volumes: - deploydir/docker_volumes_data/minio/data:/data/minio im-nginx: container_name: im-nginx image: openresty/openresty:1.21.4.1-0-alpine restart: always ports: - PORT_NGINX_HTTP_OS:80 - PORT_NGINX_HTTPS_OS:443 - PORT_NGINX_WSS_OS:81 depends_on: im-platform: condition: service_started im-server: condition: service_started volumes: - deploydir/docker_volumes_data/nginx/data/conf:/etc/nginx ## configs - deploydir/docker_volumes_data/nginx/data/certs:/etc/certs ## cert files - deploydir/docker_volumes_data/nginx/data/web:/usr/share/nginx ## web im-platform: container_name: im-platform image: im-platform:latest restart: always depends_on: im-mysql: condition: service_started im-redis: condition: service_started im-minio: condition: service_started env_file: - im-platform.env im-server: container_name: im-server image: im-server:latest restart: always depends_on: im-mysql: condition: service_started im-redis: condition: service_started im-minio: condition: service_started env_file: - im-server.env networks: default: external: name: im-network