Ecommerce Search and Discovery - marqo.ai
docker pull 424082663841.dkr.ecr.us-east-1.amazonaws.com/marqoai/api
docker run -d --name marqo -p 8000:8000 --restart always 424082663841.dkr.ecr.us-east-1.amazonaws.com/marqoai/api:latest
podman run -d --name marqo -p 8000:8000 --restart always 424082663841.dkr.ecr.us-east-1.amazonaws.com/marqoai/api:latest
skopeo inspect docker://docker.io/424082663841.dkr.ecr.us-east-1.amazonaws.com/marqoai/api:latest
oras pull 424082663841.dkr.ecr.us-east-1.amazonaws.com/marqoai/api:latest
docker compose up -d
# A docker compose file that sets up a complete Marqo environment with all components
# including Triton Inference Server, Marqo API, Marqo Model Management Container (MMC),
# Marqo Inference Orchestrator Container (MIOC), and Vespa for search capabilities.
name: marqo-all-components
services:
triton-gpu:
image: nvcr.io/nvidia/tritonserver:${TRITON_VERSION:-25.08-py3}
command:
[
"tritonserver",
"--model-repository=/models",
"--log-verbose=1",
"--model-control-mode=explicit"
]
volumes:
- modelrepo:/models # <== shared
ports:
- "8000:8000" # HTTP
- "8001:8001" # gRPC
- "8002:8002" # Metrics
networks:
marqo-net:
aliases: [triton]
profiles: [gpu]
restart: unless-stopped
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [ gpu ]
triton:
image: nvcr.io/nvidia/tritonserver:25.08-py3
command:
[
"tritonserver",
"--model-repository=/models",
"--log-verbose=1",
"--model-control-mode=explicit"
]
volumes:
- modelrepo:/models # <== shared
ports:
- "8000:8000" # HTTP
- "8001:8001" # gRPC
- "8002:8002" # Metrics
networks: [ marqo-net ]
profiles: [cpu]
restart: unless-stopped
api:
image: 424082663841.dkr.ecr.us-east-1.amazonaws.com/marqoai/api:latest
build:
context: ./components
dockerfile: marqo/Dockerfile
stdin_open: true
tty: true
environment:
HF_HUB_ENABLE_HF_TRANSFER: "1"
MARQO_ENABLE_BATCH_APIS: "TRUE"
MARQO_ENABLE_OPS_API: "TRUE"
MARQO_API_INFERENCE_CACHE_SIZE: "0"
MARQO_LOG_FORMAT: "plain"
MARQO_LOG_LEVEL: "info"
MARQO_MAX_CPU_MODEL_MEMORY: "10"
MARQO_MAX_CUDA_MODEL_MEMORY: "10"
MARQO_MODELS_TO_PRELOAD: "[]"
MARQO_INDEX_DEPLOYMENT_LOCK_TIMEOUT: "0"
MARQO_REMOTE_INFERENCE_URL: "http://mioc:8884"
VESPA_CONFIG_URL: "http://host.docker.internal:19071"
VESPA_DOCUMENT_URL: "http://host.docker.internal:8080"
VESPA_QUERY_URL: "http://host.docker.internal:8080"
ZOOKEEPER_HOSTS: "host.docker.internal:2181"
ports:
- "8882:8882"
networks: [marqo-net]
extra_hosts:
- "host.docker.internal:host-gateway"
restart: unless-stopped
mmc:
image: 424082663841.dkr.ecr.us-east-1.amazonaws.com/marqoai/model-management:latest
build:
context: ./components
dockerfile: model_management/Dockerfile
stdin_open: true
tty: true
environment:
MARQO_LOG_LEVEL: "INFO"
MARQO_MODELS_TO_PRELOAD: "[]"
MARQO_TRITON_REST_URL: http://triton:8000
MARQO_MODEL_CACHE_PATH: /models
volumes:
- modelrepo:/models
- ~/.aws/credentials:/root/.aws/credentials:ro # If using AWS S3 for model storage
ports:
- "8883:8883"
networks: [marqo-net]
restart: unless-stopped
mioc:
image: 424082663841.dkr.ecr.us-east-1.amazonaws.com/marqoai/inference-orchestrator:latest
build:
context: ./components
dockerfile: inference_orchestrator/Dockerfile
stdin_open: true
tty: true
environment:
MARQO_LOG_LEVEL: "INFO"
MARQO_TRITON_URL: http://triton:8001
MARQO_MODEL_MANAGEMENT_CONTAINER_URL: http://mmc:8883
ports:
- "8884:8884"
networks: [marqo-net]
restart: unless-stopped
volumes:
modelrepo:
networks:
marqo-net: