version: '3.8' services: redis: image: redis:7-alpine container_name: jarvis-redis restart: unless-stopped ports: - "6379:6379" networks: - jarvis-net vad: build: ./services/vad container_name: jarvis-vad restart: unless-stopped ports: - "8001:8000" # API для приема аудио environment: - REDIS_HOST=redis - REDIS_PORT=6379 depends_on: - redis networks: - jarvis-net # VAD работает на CPU, deploy не нужен asr: build: ./services/asr container_name: jarvis-asr restart: unless-stopped ports: - "8002:8000" environment: - REDIS_HOST=redis - REDIS_PORT=6379 depends_on: - redis networks: - jarvis-net deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] speaker-id: build: ./services/speaker-id container_name: jarvis-speaker-id restart: unless-stopped ports: - "8003:8000" volumes: - ./services/speaker-id/embeddings.json:/app/embeddings.json environment: - REDIS_HOST=redis - REDIS_PORT=6379 depends_on: - redis networks: - jarvis-net deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] # может работать и на CPU, но GPU ускорит orchestrator: build: ./services/orchestrator container_name: jarvis-orchestrator restart: unless-stopped ports: - "8004:8000" environment: - REDIS_HOST=redis - REDIS_PORT=6379 depends_on: - redis networks: - jarvis-net # CPU, GPU не нужен tts: build: ./services/tts container_name: jarvis-tts restart: unless-stopped ports: - "8005:8000" environment: - REDIS_HOST=redis - REDIS_PORT=6379 depends_on: - redis networks: - jarvis-net # Для iGPU потребуется дополнительная конфигурация, пока оставим на CPU # deploy: # resources: # reservations: # devices: # - driver: intel # count: 1 # capabilities: [gpu] networks: jarvis-net: driver: bridge