# 로컬 Mac 개발용 (start-all.sh / stop-all.sh) # - network_mode:host 미사용 → :28012 / :28013 호스트 바인딩 # - Qdrant :6335 (다른 프로젝트 :6333 과 충돌 방지) # - AI/Mongo는 host.docker.internal 경유 (.env) name: exchatbot-local services: qdrant: image: qdrant/qdrant:v1.18.2 ports: - "6335:6333" - "6336:6334" volumes: - ./qdrant_data:/qdrant/storage restart: unless-stopped api: image: ${RAG_API_IMAGE:-rag-api-slim:latest} build: context: . dockerfile: docker/service-slim.Dockerfile ports: - "${RAG_API_PORT:-28012}:28012" extra_hosts: - "host.docker.internal:host-gateway" env_file: - .env environment: QDRANT_HOST: qdrant QDRANT_PORT: "6333" MONGO_HOST: host.docker.internal UVICORN_WORKERS: "${UVICORN_WORKERS:-2}" depends_on: - qdrant volumes: - ./data:/app/data - ./scripts:/app/scripts restart: unless-stopped healthcheck: test: ["CMD", "curl", "-sf", "http://localhost:28012/health"] interval: 10s timeout: 10s retries: 12 start_period: 45s admin: image: ${RAG_API_IMAGE:-rag-api-slim:latest} ports: - "${ADMIN_PORT:-28013}:28013" extra_hosts: - "host.docker.internal:host-gateway" command: - python - -m - uvicorn - scripts.admin_service:app - --host - 0.0.0.0 - --port - "28013" working_dir: /app env_file: - .env environment: QDRANT_HOST: qdrant QDRANT_PORT: "6333" depends_on: - qdrant volumes: - ./data:/app/data - ./scripts:/app/scripts restart: unless-stopped