1+ # Copyright (C) 2025 Intel Corporation
2+ # SPDX-License-Identifier: Apache-2.0
3+
4+ services :
5+ milvus-etcd :
6+ container_name : milvus-etcd
7+ image : quay.io/coreos/etcd:v3.5.18
8+ environment :
9+ - ETCD_AUTO_COMPACTION_MODE=revision
10+ - ETCD_AUTO_COMPACTION_RETENTION=1000
11+ - ETCD_QUOTA_BACKEND_BYTES=4294967296
12+ - ETCD_SNAPSHOT_COUNT=50000
13+ - http_proxy=
14+ - https_proxy=
15+ - no_proxy=
16+ - HTTP_PROXY=
17+ - HTTPS_PROXY=
18+ - NO_PROXY=
19+ volumes :
20+ - ${DOCKER_VOLUME_DIRECTORY:-}/volumes/etcd:/etcd
21+ command : etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
22+ healthcheck :
23+ test : ["CMD", "etcdctl", "endpoint", "health"]
24+ interval : 30s
25+ timeout : 20s
26+ retries : 3
27+
28+ milvus-minio :
29+ container_name : milvus-minio
30+ image : minio/minio:RELEASE.2023-03-20T20-16-18Z
31+ environment :
32+ MINIO_ACCESS_KEY : minioadmin
33+ MINIO_SECRET_KEY : minioadmin
34+ ports :
35+ - " 9001:9001"
36+ - " 9000:9000"
37+ volumes :
38+ - ${DOCKER_VOLUME_DIRECTORY:-}/volumes/minio:/minio_data
39+ command : minio server /minio_data --console-address ":9001"
40+ healthcheck :
41+ test : ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
42+ interval : 30s
43+ timeout : 20s
44+ retries : 3
45+
46+ milvus-standalone :
47+ container_name : milvus-standalone
48+ image : milvusdb/milvus:v2.5.10
49+ command : ["milvus", "run", "standalone"]
50+ security_opt :
51+ - seccomp:unconfined
52+ environment :
53+ ETCD_ENDPOINTS : milvus-etcd:2379
54+ MINIO_ADDRESS : milvus-minio:9000
55+ http_proxy : " "
56+ https_proxy : " "
57+ no_proxy : " "
58+ HTTP_PROXY : " "
59+ HTTPS_PROXY : " "
60+ NO_PROXY : " "
61+ volumes :
62+ - ./config/milvus.yaml:/milvus/configs/milvus.yaml
63+ - ${DOCKER_VOLUME_DIRECTORY:-}/volumes/milvus:/var/lib/milvus
64+ healthcheck :
65+ test : ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
66+ interval : 30s
67+ start_period : 90s
68+ timeout : 20s
69+ retries : 3
70+ ports :
71+ - " 19530:19530"
72+ - " 9091:9091"
73+ depends_on :
74+ - " milvus-etcd"
75+ - " milvus-minio"
76+
77+ multimodal-embedding-serving :
78+ image : ${REGISTRY:-}multimodal-embedding-serving:${TAG:-latest}
79+ container_name : multimodal-embedding-serving
80+ ports :
81+ - " ${EMBEDDING_SERVER_PORT}:8000"
82+ ipc : host
83+ environment :
84+ no_proxy_env : ${no_proxy_env}
85+ http_proxy : ${http_proxy}
86+ https_proxy : ${https_proxy}
87+ HF_ENDPOINT : ${HF_ENDPOINT}
88+ EMBEDDING_MODEL_NAME : ${EMBEDDING_MODEL_NAME}
89+ EMBEDDING_DEVICE : ${EMBEDDING_DEVICE}
90+ EMBEDDING_USE_OV : ${EMBEDDING_USE_OV}
91+ EMBEDDING_OV_MODELS_DIR : ${EMBEDDING_OV_MODELS_DIR:-/app/ov_models}
92+ # Legacy support for backward compatibility
93+ MODEL_NAME : ${EMBEDDING_MODEL_NAME}
94+ DEFAULT_START_OFFSET_SEC : ${DEFAULT_START_OFFSET_SEC}
95+ DEFAULT_CLIP_DURATION : ${DEFAULT_CLIP_DURATION}
96+ DEFAULT_NUM_FRAMES : ${DEFAULT_NUM_FRAMES}
97+ group_add :
98+ - ${USER_GROUP_ID:-1000}
99+ - ${VIDEO_GROUP_ID:-44}
100+ - ${RENDER_GROUP_ID:-1002}
101+ restart : unless-stopped
102+ healthcheck :
103+ test : ["CMD-SHELL", "curl -f http://localhost:8000/health || exit 1"]
104+ interval : 10s
105+ timeout : 10s
106+ retries : 40
107+ start_period : 5s
108+ devices :
109+ - /dev/dri:/dev/dri
110+ networks :
111+ - default
112+ volumes :
113+ - ov-models:/home/appuser/.cache/huggingface
114+ - ov-models:/app/ov_models
115+
116+ retriever-milvus :
117+ image : ${REGISTRY:-}retriever-milvus:${TAG:-latest}
118+ container_name : retriever-milvus
119+ ports :
120+ - " ${RETRIEVER_SERVICE_PORT}:7770"
121+ ipc : host
122+ environment :
123+ - no_proxy=${no_proxy}
124+ - http_proxy=${http_proxy}
125+ - https_proxy=${https_proxy}
126+ - HF_ENDPOINT=${HF_ENDPOINT}
127+ - MILVUS_HOST=${MILVUS_HOST}
128+ - MILVUS_PORT=${MILVUS_PORT}
129+ - EMBEDDING_BASE_URL=${EMBEDDING_BASE_URL}
130+ - EMBEDDING_MODEL_NAME=${EMBEDDING_MODEL_NAME}
131+ restart : unless-stopped
132+ devices :
133+ - /dev/dri:/dev/dri
134+ group_add :
135+ - ${USER_GROUP_ID-1000}
136+ - ${VIDEO_GROUP_ID}
137+ - ${RENDER_GROUP_ID}
138+ healthcheck :
139+ test : ["CMD-SHELL", "curl -f http://localhost:$RETRIEVER_SERVICE_PORT/v1/retrieval/health || exit 1"]
140+ interval : 60s
141+ timeout : 10s
142+ retries : 30
143+ start_period : 30s
144+ depends_on :
145+ - milvus-standalone
146+ - multimodal-embedding-serving
147+ networks :
148+ - default
149+
150+ volumes :
151+ ov-models :
152+ external : true
153+
154+ networks :
155+ default :
156+ driver : bridge
0 commit comments