version: '3.5' services: web: build: . container_name: django_app mem_limit: 16g command: gunicorn devlab_next.wsgi:application --bind 0.0.0.0:8000 --workers 3 --log-level debug volumes: - .:/app ports: - "8000:8000" depends_on: - milvus-standalone environment: - DJANGO_SETTINGS_MODULE=devlab_next.settings - TF_CPP_MIN_LOG_LEVEL=2 networks: - milvus_network milvus-standalone: container_name: milvus image: milvusdb/milvus:v2.5.8 command: ["milvus", "run", "standalone"] security_opt: - seccomp:unconfined restart: always ports: - "19530:19530" # gRPC - "19121:19121" # HTTP (correct health port) volumes: - ./volumes/milvus:/var/lib/milvus healthcheck: test: ["CMD", "curl", "-f", "http://localhost:19121/healthz"] interval: 30s start_period: 90s timeout: 20s retries: 3 depends_on: - etcd - minio environment: ETCD_ENDPOINTS: etcd:2379 MINIO_ADDRESS: minio:9000 MINIO_ACCESS_KEY: minioadmin MINIO_SECRET_KEY: minioadmin MILVUS_LOG_LEVEL: debug networks: - milvus_network etcd: image: quay.io/coreos/etcd:v3.5.18 container_name: etcd command: etcd -advertise-client-urls=http://etcd:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd environment: - ETCD_AUTO_COMPACTION_MODE=revision - ETCD_AUTO_COMPACTION_RETENTION=1000 - ETCD_QUOTA_BACKEND_BYTES=4294967296 - ETCD_SNAPSHOT_COUNT=50000 volumes: - ./volumes/etcd:/etcd healthcheck: test: ["CMD", "etcdctl", "endpoint", "health"] interval: 30s timeout: 20s retries: 3 ports: - "2379:2379" - "2380:2380" networks: - milvus_network minio: container_name: minio image: minio/minio:RELEASE.2023-03-20T20-16-18Z environment: MINIO_ACCESS_KEY: minioadmin MINIO_SECRET_KEY: minioadmin command: minio server /minio_data --console-address ":9001" ports: - "9000:9000" - "9001:9001" volumes: - ./volumes/minio:/minio_data healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 20s retries: 3 networks: - milvus_network networks: milvus_network: driver: bridge