# Copyright (C) 2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

services:
  chatqna:
    build:
      args:
        http_proxy: ${http_proxy}
        https_proxy: ${https_proxy}
        no_proxy: ${no_proxy}
      context: ../
      dockerfile: ./Dockerfile
    image: ${REGISTRY:-opea}/chatqna:${TAG:-latest}
  chatqna-wrapper:
    build:
      context: ../
      dockerfile: ./Dockerfile.wrapper
    extends: chatqna
    image: ${REGISTRY:-opea}/chatqna-wrapper:${TAG:-latest}
  chatqna-guardrails:
    build:
      context: ../
      dockerfile: ./Dockerfile.guardrails
    extends: chatqna
    image: ${REGISTRY:-opea}/chatqna-guardrails:${TAG:-latest}
  chatqna-without-rerank:
    build:
      context: ../
      dockerfile: ./Dockerfile.without_rerank
    extends: chatqna
    image: ${REGISTRY:-opea}/chatqna-without-rerank:${TAG:-latest}
  chatqna-ui:
    build:
      context: ../ui
      dockerfile: ./docker/Dockerfile
    extends: chatqna
    image: ${REGISTRY:-opea}/chatqna-ui:${TAG:-latest}
  chatqna-conversation-ui:
    build:
      context: ../ui
      dockerfile: ./docker/Dockerfile.react
    extends: chatqna
    image: ${REGISTRY:-opea}/chatqna-conversation-ui:${TAG:-latest}
  embedding:
    build:
      context: GenAIComps
      dockerfile: comps/embeddings/src/Dockerfile
    extends: chatqna
    image: ${REGISTRY:-opea}/embedding:${TAG:-latest}
  retriever-redis:
    build:
      context: GenAIComps
      dockerfile: comps/retrievers/redis/langchain/Dockerfile
    extends: chatqna
    image: ${REGISTRY:-opea}/retriever-redis:${TAG:-latest}
  retriever-qdrant:
    build:
      context: GenAIComps
      dockerfile: comps/retrievers/qdrant/haystack/Dockerfile
    extends: chatqna
    image: ${REGISTRY:-opea}/retriever-qdrant:${TAG:-latest}
  retriever-pinecone:
    build:
      context: GenAIComps
      dockerfile: comps/retrievers/pinecone/langchain/Dockerfile
    extends: chatqna
    image: ${REGISTRY:-opea}/retriever-pinecone:${TAG:-latest}
  reranking-tei:
    build:
      context: GenAIComps
      dockerfile: comps/reranks/src/Dockerfile
    extends: chatqna
    image: ${REGISTRY:-opea}/reranking-tei:${TAG:-latest}
  llm-textgen:
    build:
      context: GenAIComps
      dockerfile: comps/llms/src/text-generation/Dockerfile
    extends: chatqna
    image: ${REGISTRY:-opea}/llm-textgen:${TAG:-latest}
  dataprep-redis:
    build:
      context: GenAIComps
      dockerfile: comps/dataprep/redis/langchain/Dockerfile
    extends: chatqna
    image: ${REGISTRY:-opea}/dataprep-redis:${TAG:-latest}
  dataprep-qdrant:
    build:
      context: GenAIComps
      dockerfile: comps/dataprep/qdrant/langchain/Dockerfile
    extends: chatqna
    image: ${REGISTRY:-opea}/dataprep-qdrant:${TAG:-latest}
  dataprep-pinecone:
    build:
      context: GenAIComps
      dockerfile: comps/dataprep/pinecone/langchain/Dockerfile
    extends: chatqna
    image: ${REGISTRY:-opea}/dataprep-pinecone:${TAG:-latest}
  guardrails-tgi:
    build:
      context: GenAIComps
      dockerfile: comps/guardrails/llama_guard/langchain/Dockerfile
    extends: chatqna
    image: ${REGISTRY:-opea}/guardrails-tgi:${TAG:-latest}
  vllm:
    build:
      context: vllm
      dockerfile: Dockerfile.cpu
    extends: chatqna
    image: ${REGISTRY:-opea}/vllm:${TAG:-latest}
  vllm-gaudi:
    build:
      context: vllm-fork
      dockerfile: Dockerfile.hpu
    extends: chatqna
    image: ${REGISTRY:-opea}/vllm-gaudi:${TAG:-latest}
  nginx:
    build:
      context: GenAIComps
      dockerfile: comps/3rd_parties/nginx/src/Dockerfile
    extends: chatqna
    image: ${REGISTRY:-opea}/nginx:${TAG:-latest}
