# Copyright (C) 2024 Intel Corporation # SPDX-License-Identifier: Apache-2.0 services: vdms-vector-db: image: intellabs/vdms:latest container_name: vdms-vector-db ports: - "${VDMS_PORT}:55555" dataprep: image: ${REGISTRY:-opea}/dataprep:${TAG:-latest} container_name: dataprep-vdms-server depends_on: - vdms-vector-db ports: - "${DATAPREP_PORT}:5000" environment: no_proxy: ${no_proxy} http_proxy: ${http_proxy} https_proxy: ${https_proxy} MULTIMODAL_DATAPREP: true DATAPREP_COMPONENT_NAME: "OPEA_DATAPREP_MULTIMODALVDMS" VDMS_HOST: ${VDMS_HOST} VDMS_PORT: ${VDMS_PORT} INDEX_NAME: ${INDEX_NAME} COLLECTION_NAME: ${INDEX_NAME} HUGGINGFACEHUB_API_TOKEN: ${HUGGINGFACEHUB_API_TOKEN} volumes: - videoqna-cache:/home/user/.cache embedding: image: ${REGISTRY:-opea}/embedding-multimodal-clip:${TAG:-latest} container_name: clip-embedding-server ports: - "${EMBEDDER_PORT:-6990}:6990" ipc: host environment: no_proxy: ${no_proxy} http_proxy: ${http_proxy} https_proxy: ${https_proxy} CLIP_EMBEDDING_ENDPOINT: ${CLIP_EMBEDDING_ENDPOINT} EMBEDDING_COMPONENT_NAME: "OPEA_CLIP_EMBEDDING" LOGFLAG: ${LOGFLAG:-False} restart: unless-stopped volumes: - videoqna-cache:/home/user/.cache retriever: image: ${REGISTRY:-opea}/retriever:${TAG:-latest} container_name: retriever-vdms-server depends_on: - vdms-vector-db ports: - "${RETRIEVER_PORT}:7000" ipc: host environment: no_proxy: ${no_proxy} http_proxy: ${http_proxy} https_proxy: ${https_proxy} INDEX_NAME: ${INDEX_NAME} HUGGINGFACEHUB_API_TOKEN: ${HUGGINGFACEHUB_API_TOKEN} RETRIEVER_COMPONENT_NAME: "OPEA_RETRIEVER_VDMS" VDMS_INDEX_NAME: ${INDEX_NAME} VDMS_HOST: ${VDMS_HOST} VDMS_PORT: ${VDMS_PORT} VDMS_USE_CLIP: ${USECLIP} NUMBA_CACHE_DIR: "/tmp/numba_cache" restart: unless-stopped volumes: - videoqna-cache:/home/user/.cache reranking: image: ${REGISTRY:-opea}/reranking:${TAG:-latest} container_name: reranking-tei-server ports: - "${RERANKING_PORT}:8000" ipc: host environment: no_proxy: ${no_proxy} http_proxy: ${http_proxy} https_proxy: ${https_proxy} CHUNK_DURATION: ${CHUNK_DURATION} FILE_SERVER_ENDPOINT: ${DATAPREP_GET_FILE_ENDPOINT} DATAPREP_GET_VIDEO_LIST_ENDPOINT: ${DATAPREP_GET_VIDEO_LIST_ENDPOINT} RERANK_COMPONENT_NAME: ${RERANK_COMPONENT_NAME:-OPEA_VIDEO_RERANKING} restart: unless-stopped lvm-video-llama: image: ${REGISTRY:-opea}/lvm-video-llama:${TAG:-latest} container_name: lvm-video-llama ports: - ${VIDEO_LLAMA_PORT:-9009}:9009 ipc: host environment: http_proxy: ${http_proxy} https_proxy: ${https_proxy} no_proxy: ${no_proxy} llm_download: ${LLM_DOWNLOAD} volumes: - videoqna-cache:/home/user/.cache - video-llama-model:/home/user/model restart: unless-stopped lvm: image: ${REGISTRY:-opea}/lvm:${TAG:-latest} container_name: lvm ports: - "${LVM_PORT}:9399" ipc: host environment: http_proxy: ${http_proxy} https_proxy: ${https_proxy} no_proxy: ${no_proxy} LVM_COMPONENT_NAME: ${LVM_COMPONENT_NAME:-OPEA_VIDEO_LLAMA_LVM} LVM_ENDPOINT: ${LVM_ENDPOINT} restart: unless-stopped depends_on: - lvm-video-llama videoqna-xeon-backend-server: image: ${REGISTRY:-opea}/videoqna:${TAG:-latest} container_name: videoqna-xeon-backend-server depends_on: - vdms-vector-db - dataprep - embedding - retriever - reranking - lvm-video-llama - lvm ports: - "${BACKEND_PORT}:8888" environment: http_proxy: ${http_proxy} https_proxy: ${https_proxy} no_proxy: ${no_proxy} LOGFLAG: ${LOGFLAG:-False} MEGA_SERVICE_HOST_IP: ${MEGA_SERVICE_HOST_IP} BACKEND_PORT: ${BACKEND_PORT} EMBEDDING_SERVICE_HOST_IP: ${EMBEDDING_SERVICE_HOST_IP} RETRIEVER_SERVICE_HOST_IP: ${RETRIEVER_SERVICE_HOST_IP} RERANK_SERVICE_HOST_IP: ${RERANK_SERVICE_HOST_IP} LVM_SERVICE_HOST_IP: ${LVM_SERVICE_HOST_IP} ipc: host restart: always videoqna-xeon-ui-server: image: ${REGISTRY:-opea}/videoqna-ui:${TAG:-latest} container_name: videoqna-xeon-ui-server depends_on: - videoqna-xeon-backend-server ports: - "${UI_PORT}:5173" environment: https_proxy: ${https_proxy} http_proxy: ${http_proxy} no_proxy: ${no_proxy} BACKEND_SERVICE_ENDPOINT: ${BACKEND_SERVICE_ENDPOINT} BACKEND_HEALTH_CHECK_ENDPOINT: ${BACKEND_HEALTH_CHECK_ENDPOINT} DATAPREP_INGEST_SERVICE_ENDPOINT: ${DATAPREP_INGEST_SERVICE_ENDPOINT} DATAPREP_PORT: ${DATAPREP_PORT} BACKEND_PORT: ${BACKEND_PORT} UI_PORT: ${UI_PORT} ipc: host restart: always volumes: video-llama-model: external: true videoqna-cache: networks: default: driver: bridge