services: backend: build: context: ./backend dockerfile: Dockerfile ports: - "8000:8000" environment: - QA_PROVIDER=${QA_PROVIDER:-ollama} - QA_MODEL=${QA_MODEL:-gpt-oss:latest} - DB_PATH=/app/data/haiku.rag.lancedb - OLLAMA_BASE_URL=${OLLAMA_BASE_URL:-http://host.docker.internal:11434} - OPENAI_API_KEY=${OPENAI_API_KEY} - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} volumes: - ./backend:/app - /app/.venv - ${DB_PATH}:/app/data/haiku.rag.lancedb networks: - ag-ui-network extra_hosts: - "host.docker.internal:host-gateway" restart: unless-stopped healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"] interval: 30s timeout: 10s retries: 3 frontend: build: context: ./frontend dockerfile: Dockerfile ports: - "3000:3000" environment: - BACKEND_URL=http://backend:8000 volumes: - ./frontend:/app - /app/node_modules - /app/.next depends_on: - backend networks: - ag-ui-network restart: unless-stopped networks: ag-ui-network: driver: bridge