# ════════════════════════════════════════════════════════ # LawAgent AI — Docker Compose # ════════════════════════════════════════════════════════ # # Kullanım: # Sadece pipeline çalıştır (veri topla + işle + vektörleştir): # docker-compose run --rm pipeline # # Sadece API başlat (veriler hazırsa): # docker-compose up api # # Her şeyi başlat (pipeline bitince API otomatik başlar): # docker-compose up # # ════════════════════════════════════════════════════════ version: "3.9" services: # ── Qdrant Vektör Veritabanı ──────────────────────────── qdrant: image: qdrant/qdrant:latest container_name: lawagent_qdrant ports: - "6333:6333" - "6334:6334" volumes: - qdrant_data:/qdrant/storage restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:6333/healthz"] interval: 10s timeout: 5s retries: 5 # ── Pipeline (Sıralı Veri İşleme) ────────────────────── pipeline: build: context: . dockerfile: Dockerfile container_name: lawagent_pipeline env_file: .env environment: - QDRANT_URL=http://qdrant:6333 - PYTHONPATH=/app volumes: # Oluşan corpus/chunk dosyaları host makineye yansır - ./src/data:/app/src/data depends_on: qdrant: condition: service_healthy command: bash run_pipeline.sh # Pipeline bir kez çalışıp biter restart: "no" # ── FastAPI / Generator (Ana API) ────────────────────── api: build: context: . dockerfile: Dockerfile container_name: lawagent_api env_file: .env environment: - QDRANT_URL=http://qdrant:6333 - PYTHONPATH=/app ports: - "8000:8000" volumes: - ./src/data:/app/src/data depends_on: qdrant: condition: service_healthy command: python src/generator.py --api restart: unless-stopped volumes: qdrant_data: driver: local