version: '3.8' services: backend: build: context: ./backend dockerfile: Dockerfile container_name: llm-benchmark-backend ports: - "8000:8000" environment: - DATABASE_URL=sqlite+aiosqlite:///./benchmark.db - OPENAI_API_KEY=${OPENAI_API_KEY:-} - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-} - GOOGLE_API_KEY=${GOOGLE_API_KEY:-} volumes: - backend_data:/app/data restart: unless-stopped healthcheck: test: ["CMD-SHELL", "python3 -c \"import urllib.request; exit(0 if urllib.request.urlopen('http://localhost:8000/health').status == 200 else 1)\""] interval: 30s timeout: 10s retries: 3 frontend: build: context: ./frontend dockerfile: Dockerfile args: - VITE_API_URL=http://localhost:8000 container_name: llm-benchmark-frontend ports: - "3008:80" depends_on: - backend restart: unless-stopped volumes: backend_data: