126 lines
4.3 KiB
YAML
126 lines
4.3 KiB
YAML
# 本项目后端所需中间件,开箱即用
|
|
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
|