| version: '3.8' | |
| services: | |
| # Gateway/Orquestrador (porta 8080) | |
| gateway: | |
| build: | |
| context: ./gateway | |
| dockerfile: Dockerfile | |
| ports: | |
| - "8080:8080" | |
| depends_on: | |
| - whisper | |
| - llm | |
| - tts | |
| - musetalk | |
| environment: | |
| - WHISPER_URL=http://whisper:5001 | |
| - LLM_URL=http://llm:5002 | |
| - TTS_URL=http://tts:5003 | |
| - MUSETALK_URL=http://musetalk:5004 | |
| networks: | |
| - microservices | |
| restart: unless-stopped | |
| # Whisper Service (STT - porta 5001) | |
| whisper: | |
| build: | |
| context: ./services/whisper | |
| dockerfile: Dockerfile | |
| ports: | |
| - "5001:5001" | |
| networks: | |
| - microservices | |
| restart: unless-stopped | |
| healthcheck: | |
| test: ["CMD", "curl", "-f", "http://localhost:5001/health"] | |
| interval: 10s | |
| timeout: 5s | |
| retries: 3 | |
| # LLM Service (porta 5002) | |
| llm: | |
| build: | |
| context: ./services/llm | |
| dockerfile: Dockerfile | |
| ports: | |
| - "5002:5002" | |
| networks: | |
| - microservices | |
| restart: unless-stopped | |
| healthcheck: | |
| test: ["CMD", "curl", "-f", "http://localhost:5002/health"] | |
| interval: 10s | |
| timeout: 5s | |
| retries: 3 | |
| # TTS Service (porta 5003) | |
| tts: | |
| build: | |
| context: ./services/tts | |
| dockerfile: Dockerfile | |
| ports: | |
| - "5003:5003" | |
| networks: | |
| - microservices | |
| restart: unless-stopped | |
| healthcheck: | |
| test: ["CMD", "curl", "-f", "http://localhost:5003/health"] | |
| interval: 10s | |
| timeout: 5s | |
| retries: 3 | |
| # MuseTalk Service (Avatar - porta 5004) | |
| musetalk: | |
| build: | |
| context: ./services/musetalk | |
| dockerfile: Dockerfile | |
| ports: | |
| - "5004:5004" | |
| networks: | |
| - microservices | |
| restart: unless-stopped | |
| healthcheck: | |
| test: ["CMD", "curl", "-f", "http://localhost:5004/health"] | |
| interval: 10s | |
| timeout: 5s | |
| retries: 3 | |
| networks: | |
| microservices: | |
| driver: bridge | |