Ctrl K
ComunidadGuías…

docker-compose.yml

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

Archivo original ↗Preguntar a KiBot
services:
  idp-api:
    build: .
    image: py-idp:0.2.0
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      # --- API auth ---
      - IDP_API_KEY=${IDP_API_KEY:?IDP_API_KEY must be set}
      - IDP_API_KEY_REQUIRED=true
      - IDP_RATE_LIMIT_PER_MINUTE=${IDP_RATE_LIMIT_PER_MINUTE:-60}
      # --- Storage ---
      - IDP_STORAGE_BACKEND=${IDP_STORAGE_BACKEND:-sql}
      - IDP_STORAGE_PATH=${IDP_STORAGE_PATH:-sqlite:////data/idp.db}
      - IDP_UPLOAD_DIR=/data/uploads
      # --- LLM ---
      - IDP_BACKEND=${IDP_BACKEND:-mock}
      - IDP_MODEL=${IDP_MODEL:-}
      - OPENAI_API_KEY=${OPENAI_API_KEY:-}
      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
      # --- Observability ---
      - IDP_LOG_LEVEL=${IDP_LOG_LEVEL:-INFO}
      - IDP_LOG_FORMAT=${IDP_LOG_FORMAT:-human}
      - IDP_METRICS_ENABLED=true
    volumes:
      - idp_data:/data
    healthcheck:
      test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8080/healthz', timeout=2).read()"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 10s

  idp-ui:
    build: .
    image: py-idp:0.2.0
    restart: unless-stopped
    command: streamlit run src/idp/hitl/app.py --server.port 8501 --server.address 0.0.0.0
    ports:
      - "8501:8501"
    depends_on:
      idp-api:
        condition: service_healthy
    environment:
      - IDP_RESULTS=/data/idp/results.jsonl
      - IDP_LOG_LEVEL=WARNING
    volumes:
      - idp_data:/data

volumes:
  idp_data: