Ctrl K
ComunidadGuías…

docker-compose.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
services:
  db:
    image: pgvector/pgvector:pg16   # pgvector eklentisi HAZIR gelir
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: logs
    ports:
      - "5432:5432"
    volumes:
      - pgdata:/var/lib/postgresql/data
      # Şema artık Postgres initdb'siyle değil, uygulamanın kendi migration runner'ıyla
      # kurulur (app/db/migrations/) — her başlangıçta otomatik, mevcut DB'lerde de güvenli.
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres -d logs"]
      interval: 5s
      timeout: 3s
      retries: 5

  api:
    build: .
    depends_on:
      db:
        condition: service_healthy
    ports:
      - "8000:8000"
    environment:
      # DB, compose ağında "db" hostname'iyle erişilir
      db_dsn: postgresql://postgres:postgres@db:5432/logs
      embed_model: BAAI/bge-m3
      embed_dim: "1024"
      similarity_threshold: "0.88"
      llm_provider: local
      # KRİTİK: LM Studio HOST'ta çalışıyor, container ona böyle ulaşır
      local_base_url: http://host.docker.internal:1234/v1
      local_model: qwen2.5-7b-instruct
      # Claude kullanacaksan: llm_provider=claude + anahtarı ver
      anthropic_api_key: ""
      claude_model: claude-sonnet-5
    # NOT: bge-m3 modeli Dockerfile'da imaja gömülüdür (/models). Bu yüzden burada
    # volume YOK — boş bir named volume gömülü modeli gölgeleyip runtime indirmeyi geri getirirdi.
    extra_hosts:
      # Linux'ta host.docker.internal'i çözebilmek için (Mac/Windows'ta gerekmez ama zararsız)
      - "host.docker.internal:host-gateway"

volumes:
  pgdata: