# ════════════════════════════════════════════════════════ # LawAgent AI — Dockerfile (Backend Pipeline + API) # ════════════════════════════════════════════════════════ # Build: docker build -t lawagent-backend . # Pipeline: docker run --env-file .env -v $(pwd)/src/data:/app/src/data lawagent-backend bash run_pipeline.sh # API: docker run --env-file .env -p 8000:8000 lawagent-backend # ════════════════════════════════════════════════════════ FROM python:3.11-slim # Sistem bağımlılıkları (Scrapy + bs4 için gerekli) RUN apt-get update && apt-get install -y --no-install-recommends \ gcc \ libffi-dev \ libssl-dev \ curl \ && rm -rf /var/lib/apt/lists/* # Çalışma dizini WORKDIR /app # Bağımlılıkları önce kopyala (cache optimizasyonu için) COPY requirements.txt . RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -r requirements.txt # Uygulama kaynak kodunu kopyala COPY . . # Gerekli dizinleri oluştur (pipeline çıktıları burada oluşacak) RUN mkdir -p src/data/qdrant_storage # Ortam değişkeni — Qdrant local path (docker-compose'da override edilebilir) ENV QDRANT_STORAGE=/app/src/data/qdrant_storage ENV PYTHONUNBUFFERED=1 ENV PYTHONPATH=/app # Varsayılan komut: API sunucusu CMD ["python", "src/generator.py", "--api"]