docker-compose.yml
Rama main · réplica de lectura del repositorio original.
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: