x-orquestrador-env: &orquestrador-env GOOGLE_PROJECT_ID: ${GOOGLE_PROJECT_ID:-local-dev} GOOGLE_LOCATION: ${GOOGLE_LOCATION:-us-central1} VERTEX_MODEL_NAME: ${VERTEX_MODEL_NAME:-gemini-2.5-pro} ENVIRONMENT: ${ENVIRONMENT:-development} DEBUG: ${ORQUESTRADOR_DEBUG:-false} DB_HOST: mysql DB_PORT: 3306 DB_USER: root DB_PASSWORD: root DB_NAME: orquestrador_mock MOCK_DB_HOST: mysql MOCK_DB_PORT: 3306 MOCK_DB_USER: root MOCK_DB_PASSWORD: root MOCK_DB_NAME: orquestrador_mock AUTO_SEED_TOOLS: ${AUTO_SEED_TOOLS:-true} AUTO_SEED_MOCK: ${AUTO_SEED_MOCK:-true} MOCK_SEED_ENABLED: ${MOCK_SEED_ENABLED:-true} TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN:-} TELEGRAM_POLLING_TIMEOUT: ${TELEGRAM_POLLING_TIMEOUT:-30} TELEGRAM_REQUEST_TIMEOUT: ${TELEGRAM_REQUEST_TIMEOUT:-45} CONVERSATION_STATE_BACKEND: ${CONVERSATION_STATE_BACKEND:-redis} CONVERSATION_STATE_TTL_MINUTES: ${CONVERSATION_STATE_TTL_MINUTES:-60} REDIS_URL: ${REDIS_URL:-redis://redis:6379/0} REDIS_KEY_PREFIX: ${REDIS_KEY_PREFIX:-orquestrador} REDIS_SOCKET_TIMEOUT_SECONDS: ${REDIS_SOCKET_TIMEOUT_SECONDS:-5} services: mysql: image: mysql:8.4 container_name: orquestrador_mysql environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: orquestrador_mock ports: - "3306:3306" volumes: - mysql_data:/var/lib/mysql healthcheck: test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -uroot -p$$MYSQL_ROOT_PASSWORD"] interval: 10s timeout: 5s retries: 10 start_period: 20s redis: image: redis:7-alpine container_name: orquestrador_redis ports: - "6379:6379" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 telegram: build: . container_name: orquestrador_telegram environment: *orquestrador-env depends_on: mysql: condition: service_healthy redis: condition: service_healthy restart: unless-stopped bootstrap: build: . profiles: ["bootstrap"] environment: *orquestrador-env command: ["python", "-m", "app.db.bootstrap"] depends_on: mysql: condition: service_healthy restart: "no" volumes: mysql_data: