version: '3.8' services: web: build: ./backend ports: - "8000:8000" volumes: - ./data:/app/data - ./uploads:/app/uploads environment: - DATABASE_URL=sqlite+aiosqlite:///./data/legal_assistant.db - LLM_API_KEY=${LLM_API_KEY} - LLM_API_BASE=${LLM_API_BASE:-https://api.openai.com/v1} - LLM_MODEL=${LLM_MODEL:-gpt-4o-mini} - EMBEDDING_API_KEY=${EMBEDDING_API_KEY} - EMBEDDING_API_BASE=${EMBEDDING_API_BASE:-https://api.openai.com/v1} - EMBEDDING_MODEL=${EMBEDDING_MODEL:-text-embedding-3-small} - JWT_SECRET_KEY=${JWT_SECRET_KEY:-change-me-in-production} restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s retries: 3