services: mysql: image: mysql:8.0 container_name: wygj-mysql environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: ry-vue ports: - "13306:3306" volumes: - ./.data/mysql:/var/lib/mysql command: - --default-authentication-plugin=mysql_native_password - --character-set-server=utf8mb4 - --collation-server=utf8mb4_general_ci - --explicit_defaults_for_timestamp=true - --lower_case_table_names=1 healthcheck: test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -uroot -proot"] interval: 5s timeout: 3s retries: 30 redis: image: redis:7-alpine container_name: wygj-redis environment: TZ: Asia/Shanghai ports: - "16379:6379" volumes: - ./.data/redis:/data command: ["redis-server", "--requirepass", "ruoyi123", "--appendonly", "yes"] healthcheck: test: ["CMD-SHELL", "redis-cli -a ruoyi123 ping | grep PONG"] interval: 5s timeout: 3s retries: 30 qdrant: image: qdrant/qdrant:latest container_name: wygj-qdrant ports: - "6333:6333" volumes: - ./.data/qdrant:/qdrant/storage minio: image: minio/minio:latest container_name: wygj-minio environment: TZ: Asia/Shanghai MINIO_ROOT_USER: ruoyi MINIO_ROOT_PASSWORD: ruoyi123 ports: - "9000:9000" - "9001:9001" volumes: - ./.data/minio:/data command: server /data --console-address ":9001" healthcheck: test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:9000/minio/health/live >/dev/null"] interval: 5s timeout: 3s retries: 30 minio-init: image: minio/mc:latest container_name: wygj-minio-init depends_on: minio: condition: service_healthy entrypoint: ["/bin/sh", "-c"] command: > "mc alias set local http://minio:9000 ruoyi ruoyi123 && mc mb -p local/ruoyi || true; mc mb -p local/ruoyi-personal || true"