version: '3.8' services: app: build: . ports: - "8000:8000" # FastAPI - "7860:7860" # Gradio environment: - OPENROUTER_API_KEY=${OPENROUTER_API_KEY} - TAVILY_API_KEY=${TAVILY_API_KEY} - LANGSMITH_API_KEY=${LANGSMITH_API_KEY:-} - LANGCHAIN_TRACING=${LANGCHAIN_TRACING:-false} - LANGCHAIN_PROJECT=${LANGCHAIN_PROJECT:-agentic-market-research} - DEFAULT_MODEL=${DEFAULT_MODEL:-x-ai/grok-4.1-fast:free} - MAX_COST_PER_RUN=${MAX_COST_PER_RUN:2.0} volumes: - ./data:/app/data - ./logs:/app/logs restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s retries: 3