# Copyright (C) 2024 Intel Corporation # SPDX-License-Identifier: Apache-2.0 services: vdms-vector-db: image: intellabs/vdms:v2.8.0 container_name: vdms-vector-db ports: - "8001:55555" dataprep: image: ${REGISTRY:-opea}/dataprep:${TAG:-latest} container_name: dataprep-vdms-server depends_on: - vdms-vector-db ports: - "6007:5000" environment: no_proxy: ${no_proxy} http_proxy: ${http_proxy} https_proxy: ${https_proxy} VDMS_HOST: ${VDMS_HOST} VDMS_PORT: ${VDMS_PORT} INDEX_NAME: ${INDEX_NAME} MULTIMODAL_DATAPREP: true entrypoint: sh -c 'sleep 15 && python ingest_videos.py' volumes: - /home/$USER/.cache/clip:/home/user/.cache/clip - /home/$USER/.cache/huggingface/hub:/home/user/.cache/huggingface/hub embedding: image: ${REGISTRY:-opea}/embedding-multimodal-clip:${TAG:-latest} container_name: embedding-multimodal-server ports: - "6000:6000" ipc: host environment: no_proxy: ${no_proxy} http_proxy: ${http_proxy} https_proxy: ${https_proxy} volumes: - /home/$USER/.cache/huggingface/hub:/home/user/.cache/huggingface/hub restart: unless-stopped retriever: image: ${REGISTRY:-opea}/retriever:${TAG:-latest} container_name: retriever-vdms-server depends_on: - vdms-vector-db ports: - "7000:7000" ipc: host environment: no_proxy: ${no_proxy} http_proxy: ${http_proxy} https_proxy: ${https_proxy} VDMS_INDEX_NAME: ${INDEX_NAME} VDMS_HOST: ${VDMS_HOST} VDMS_PORT: ${VDMS_PORT} VDMS_USE_CLIP: ${USECLIP} LOGFLAG: ${LOGFLAG} RETRIEVER_COMPONENT_NAME: "OPEA_RETRIEVER_VDMS" entrypoint: sh -c 'sleep 30 && python retriever_vdms.py' restart: unless-stopped volumes: - /home/$USER/.cache/huggingface/hub:/home/user/.cache/huggingface/hub reranking: image: ${REGISTRY:-opea}/reranking:${TAG:-latest} container_name: reranking-tei-server ports: - "8000: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} restart: unless-stopped lvm-video-llama: image: ${REGISTRY:-opea}/lvm-video-llama:${TAG:-latest} container_name: lvm-video-llama ports: - "9009:9009" ipc: host environment: http_proxy: ${http_proxy} https_proxy: ${https_proxy} no_proxy: ${no_proxy} llm_download: ${LLM_DOWNLOAD} volumes: - "/home/$USER/.cache:/home/user/.cache" - video-llama-model:/home/user/model restart: unless-stopped lvm: image: ${REGISTRY:-opea}/lvm:${TAG:-latest} container_name: lvm ports: - "9000:9000" ipc: host environment: http_proxy: ${http_proxy} https_proxy: ${https_proxy} no_proxy: ${no_proxy} 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: - "8888:8888" entrypoint: sh -c 'sleep 45 && python videoqna.py' environment: http_proxy: ${http_proxy} https_proxy: ${https_proxy} no_proxy: ${no_proxy} MEGA_SERVICE_HOST_IP: ${MEGA_SERVICE_HOST_IP} 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: - "5173: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} ipc: host restart: always volumes: video-llama-model: external: true networks: default: driver: bridge