mirror of
https://github.com/NVIDIA/dgx-spark-playbooks.git
synced 2026-04-22 18:13:52 +00:00
135 lines
3.6 KiB
YAML
135 lines
3.6 KiB
YAML
#
|
|
# SPDX-FileCopyrightText: Copyright (c) 1993-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
services:
|
|
backend:
|
|
container_name: backend
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "8000:8000"
|
|
volumes:
|
|
- ./backend:/app
|
|
depends_on:
|
|
- postgres
|
|
- etcd
|
|
- minio
|
|
restart: unless-stopped
|
|
environment:
|
|
- POSTGRES_HOST=postgres
|
|
- POSTGRES_DB=chatbot
|
|
- POSTGRES_USER=chatbot_user
|
|
- POSTGRES_PASSWORD=chatbot_password
|
|
- ETCD_ENDPOINTS=etcd:2379
|
|
- MINIO_ADDRESS=minio:9000
|
|
- MILVUS_ADDRESS=milvus:19530
|
|
- MODELS=gpt-oss-120b #,gpt-oss-20b
|
|
|
|
frontend:
|
|
container_name: frontend
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "3000:3000"
|
|
volumes:
|
|
- /frontend:/app/frontend
|
|
- /app/node_modules
|
|
depends_on:
|
|
- backend
|
|
restart: unless-stopped
|
|
|
|
|
|
postgres:
|
|
container_name: postgres
|
|
image: postgres:15-alpine
|
|
ports:
|
|
- "5432:5432"
|
|
environment:
|
|
- POSTGRES_DB=chatbot
|
|
- POSTGRES_USER=chatbot_user
|
|
- POSTGRES_PASSWORD=chatbot_password
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U chatbot_user -d chatbot"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
restart: unless-stopped
|
|
|
|
etcd:
|
|
container_name: milvus-etcd
|
|
image: quay.io/coreos/etcd:v3.5.5
|
|
environment:
|
|
- ETCD_AUTO_COMPACTION_MODE=revision
|
|
- ETCD_AUTO_COMPACTION_RETENTION=1000
|
|
- ETCD_QUOTA_BACKEND_BYTES=4294967296
|
|
- ETCD_SNAPSHOT_COUNT=50000
|
|
volumes:
|
|
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
|
|
command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
|
|
healthcheck:
|
|
test: ["CMD", "etcdctl", "endpoint", "health"]
|
|
interval: 30s
|
|
timeout: 20s
|
|
retries: 3
|
|
|
|
minio:
|
|
container_name: milvus-minio
|
|
image: minio/minio:RELEASE.2023-03-20T20-16-18Z
|
|
environment:
|
|
MINIO_ACCESS_KEY: minioadmin
|
|
MINIO_SECRET_KEY: minioadmin
|
|
volumes:
|
|
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_data
|
|
command: minio server /minio_data
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
|
interval: 30s
|
|
timeout: 20s
|
|
retries: 3
|
|
|
|
milvus:
|
|
container_name: milvus-standalone
|
|
image: milvusdb/milvus:v2.5.15-20250718-3a3b374f-gpu-arm64
|
|
command: ["milvus", "run", "standalone"]
|
|
environment:
|
|
ETCD_ENDPOINTS: etcd:2379
|
|
MINIO_ADDRESS: minio:9000
|
|
volumes:
|
|
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
|
|
interval: 30s
|
|
start_period: 90s
|
|
timeout: 20s
|
|
retries: 3
|
|
ports:
|
|
- "19530:19530"
|
|
- "9091:9091"
|
|
depends_on:
|
|
- "etcd"
|
|
- "minio"
|
|
|
|
|
|
volumes:
|
|
postgres_data:
|
|
|
|
networks:
|
|
default:
|
|
name: chatbot-net |