version: '3.8' services: ai-email-assistant: build: context: . dockerfile: Dockerfile container_name: ai-email-assistant ports: - "8000:8000" environment: - LLM_PROVIDER=openai - LLM_MODEL=gpt-4o - EMBEDDING_MODEL=text-embedding-3-large - OPENAI_API_KEY=${OPENAI_API_KEY} - GEMINI_API_KEY=${GEMINI_API_KEY} - CHROMA_PERSIST_DIR=/app/storage/chroma - TOP_K=30 - TOP_N_CONTEXT=6 - MAX_TOKENS_COMPLETION=1024 - LANGGRAPH_TRACING=false - SERVICE_LANG=ru - SALES_REP_NAME=Команда Консоль.Про - CHUNK_SIZE=500 - CHUNK_OVERLAP=100 - API_SECRET_KEY=${API_SECRET_KEY:-secret} - PYTHONPATH=/app - PYTHONUNBUFFERED=1 - PYTHONDONTWRITEBYTECODE=1 volumes: - ./storage/chroma:/app/storage/chroma:rw - ./data:/app/data:ro healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/healthz"] interval: 30s timeout: 10s retries: 3 start_period: 40s restart: unless-stopped deploy: resources: limits: memory: 2G cpus: '1.0' reservations: memory: 512M cpus: '0.5' security_opt: - no-new-privileges:true tmpfs: - /tmp:noexec,nosuid,size=100m