File size: 2,102 Bytes
fcb2b04 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | version: '3.8'
services:
voice-api:
build: .
ports:
- "8000:8000"
volumes:
- ./voice_models:/app/voice_models
- ./audio_files:/app/audio_files
environment:
- MODEL_PATH=/app/models/coqui_xtts
- VOICE_CACHE_DIR=/app/voice_cache
- WORKERS=4
deploy:
resources:
limits:
cpus: '2.0'
memory: 4G
reservations:
cpus: '1.0'
memory: 2G
restart: unless-stopped
tts-model:
image: coqui/tts:latest
ports:
- "9000:9000"
volumes:
- ./models:/models
- ./tts_cache:/tts_cache
environment:
- MODEL_NAME=x TTS
- MODEL_PATH=/models/coqui_xtts
- CACHE_DIR=/tts_cache
- GPU_SUPPORT=${GPU_SUPPORT:-false}
deploy:
resources:
limits:
cpus: '4.0'
memory: 8G
${GPU_LIMITS}
reservations:
cpus: '2.0'
memory: 4G
restart: unless-stopped
redis:
image: redis:alpine
ports:
- "6379:6379"
volumes:
- ./redis_data:/data
command: redis-server --appendonly yes
deploy:
resources:
limits:
cpus: '0.5'
memory: 256M
reservations:
cpus: '0.25'
memory: 128M
restart: unless-stopped
# Optional: Speech-to-text service for voice input
stt-service:
image: vosk/kaldi:latest
ports:
- "9001:9001"
volumes:
- ./models/vosk:/models/vosk
environment:
- MODEL_PATH=/models/vosk/model
deploy:
resources:
limits:
cpus: '2.0'
memory: 4G
reservations:
cpus: '1.0'
memory: 2G
restart: unless-stopped
volumes:
voice_models:
driver: local
audio_files:
driver: local
models:
driver: local
tts_cache:
driver: local
redis_data:
driver: local
vosk_models:
driver: local
networks:
default:
driver: bridge
# Environment variables for GPU support
# Set GPU_SUPPORT=true and provide GPU_LIMITS when using GPU
# Example: GPU_LIMITS=nvidia.com/gpu=1 |