Files
xiaoheideplog/docker-compose.yml
T

89 lines
2.8 KiB
YAML

# Milvus (etcd + minio + milvus) + xiaoheideplog MCP.
# Data: bind to disk (set DOCKER_VOLUME_DIRECTORY e.g. /mnt/redis-disk/xiaoheideplog/volumes).
# MCP: host port 3101 -> streamable-http /mcp
services:
etcd:
container_name: xiaoheideplog-etcd
image: quay.io/coreos/etcd:v3.5.14
environment:
- ETCD_AUTO_COMPACTION_MODE=revision
- ETCD_AUTO_COMPACTION_RETENTION=1000
- ETCD_QUOTA_BACKEND_BYTES=4294967296
- ETCD_SNAPSHOT_COUNT=50000
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-/mnt/redis-disk/xiaoheideplog/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: xiaoheideplog-minio
image: minio/minio:RELEASE.2023-03-20T20-16-18Z
environment:
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-/mnt/redis-disk/xiaoheideplog/volumes}/minio:/minio_data
command: minio server /minio_data --console-address ":9001"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
milvus:
container_name: xiaoheideplog-milvus
image: milvusdb/milvus:v2.4.14
command: ["milvus", "run", "standalone"]
security_opt:
- seccomp:unconfined
environment:
MINIO_REGION: us-east-1
ETCD_ENDPOINTS: etcd:2379
MINIO_ADDRESS: minio:9000
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-/mnt/redis-disk/xiaoheideplog/volumes}/milvus:/var/lib/milvus
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
interval: 30s
start_period: 90s
timeout: 20s
retries: 3
depends_on:
etcd:
condition: service_healthy
minio:
condition: service_healthy
ports:
- "${MILVUS_PUBLISH_PORT:-19530}:19530"
xiaoheideplog-mcp:
build: .
image: xiaoheideplog-mcp:local
container_name: xiaoheideplog-mcp
restart: unless-stopped
ports:
- "${MCP_PUBLISH_PORT:-3101}:3101"
environment:
MILVUS_HOST: milvus
MILVUS_PORT: "19530"
MCP_TRANSPORT: streamable-http
MCP_HOST: "0.0.0.0"
MCP_PORT: "3101"
DEFAULT_PROJECT_PATH: ${DEFAULT_PROJECT_PATH:-/workspace}
AZURE_OPENAI_ENDPOINT: ${AZURE_OPENAI_ENDPOINT}
AZURE_OPENAI_API_KEY: ${AZURE_OPENAI_API_KEY}
AZURE_OPENAI_API_VERSION: ${AZURE_OPENAI_API_VERSION:-2023-05-15}
AZURE_OPENAI_EMBEDDING_DEPLOYMENT: ${AZURE_OPENAI_EMBEDDING_DEPLOYMENT:-text-embedding-3-small}
depends_on:
milvus:
condition: service_healthy
networks:
default:
name: xiaoheideplog-net