# 本项目后端所需中间件,开箱即用 name: easyflow-middleware services: mysql: image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.0.36-linuxarm64 container_name: easyflow-mysql restart: unless-stopped command: - --default-authentication-plugin=mysql_native_password - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci - --max_connections=500 - --sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION environment: TZ: ${TZ:-Asia/Shanghai} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root} MYSQL_DATABASE: ${MYSQL_DATABASE:-easyflow} MYSQL_USER: ${MYSQL_USER:-easyflow} MYSQL_PASSWORD: ${MYSQL_PASSWORD:-123456} ports: - "${MYSQL_PORT:-3306}:3306" volumes: - ./data/mysql:/var/lib/mysql - ./easyflow/sql/initdb:/docker-entrypoint-initdb.d:ro healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-uroot", "-p${MYSQL_ROOT_PASSWORD:-root}"] interval: 10s timeout: 5s retries: 10 start_period: 30s redis: image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/kubesphere/redis:7.2.4-alpine-linuxarm64 container_name: easyflow-redis restart: unless-stopped command: ["redis-server", "--appendonly", "yes", "--requirepass", "${REDIS_PASSWORD:-123456}"] ports: - "${REDIS_PORT:-6379}:6379" volumes: - ./data/redis:/data healthcheck: test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD:-123456}", "ping"] interval: 10s timeout: 5s retries: 10 start_period: 10s etcd: image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/coreos/etcd:v3.5.5-linuxarm64 container_name: easyflow-etcd restart: unless-stopped environment: TZ: ${TZ:-Asia/Shanghai} ETCD_AUTO_COMPACTION_MODE: revision ETCD_AUTO_COMPACTION_RETENTION: "1000" ETCD_QUOTA_BACKEND_BYTES: "4294967296" ETCD_SNAPSHOT_COUNT: "50000" command: - /usr/local/bin/etcd - --advertise-client-urls=http://0.0.0.0:2379 - --listen-client-urls=http://0.0.0.0:2379 - --data-dir=/etcd volumes: - ./data/etcd:/etcd minio: image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/minio/minio:RELEASE.2025-07-23T15-54-02Z-linuxarm64 container_name: easyflow-minio restart: unless-stopped command: server /data --address ":9000" --console-address ":9001" environment: TZ: ${TZ:-Asia/Shanghai} MINIO_ROOT_USER: ${MINIO_ROOT_USER:-easyflowadmin} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-easyflowadmin123} ports: - "${MINIO_PORT:-9000}:9000" - "${MINIO_CONSOLE_PORT:-9001}:9001" volumes: - ./data/minio:/data minio-init: image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/minio/mc:RELEASE.2024-09-16T17-43-14Z-linuxarm64 container_name: easyflow-minio-init restart: "no" depends_on: - minio environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER:-easyflowadmin} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-easyflowadmin123} MINIO_ENDPOINT: ${MINIO_ENDPOINT:-http://minio:9000} MINIO_BUCKETS: ${MINIO_BUCKETS:-easyflow,milvus} MINIO_PUBLIC_BUCKETS: ${MINIO_PUBLIC_BUCKETS:-easyflow} MINIO_ALIAS: ${MINIO_ALIAS:-local} volumes: - ./scripts/minio/init-minio.sh:/scripts/init-minio.sh:ro entrypoint: ["/bin/sh", "/scripts/init-minio.sh"] milvus: image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/milvusdb/milvus:v2.3.3-linuxarm64 container_name: easyflow-milvus restart: unless-stopped command: ["milvus", "run", "standalone"] security_opt: - seccomp:unconfined environment: ETCD_ENDPOINTS: etcd:2379 COMMON_STORAGETYPE: minio MINIO_ADDRESS: ${MILVUS_MINIO_ADDRESS:-minio:9000} MINIO_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-easyflowadmin} MINIO_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:-easyflowadmin123} MINIO_USE_SSL: "false" MINIO_BUCKET_NAME: ${MILVUS_MINIO_BUCKET:-milvus} depends_on: etcd: condition: service_started minio: condition: service_started minio-init: condition: service_completed_successfully ports: - "${MILVUS_GRPC_PORT:-19530}:19530" - "${MILVUS_HTTP_PORT:-9091}:9091" volumes: - ./data/milvus:/var/lib/milvus