Files
ai1/docker-compose.yml
2026-02-20 02:24:44 +03:00

112 lines
2.4 KiB
YAML

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