Spaces:
Sleeping
Sleeping
| # Stack local sin fricción: un solo contenedor (el gateway sirve la API en /api y la | |
| # UI Astro en /). Usa el MISMO Dockerfile que producción (HF Spaces / Render), así que | |
| # lo que pruebas en local es lo que se despliega. El conteo arranca en standby. | |
| # | |
| # docker compose up --build -> http://localhost:8000/ | |
| # | |
| # Las credenciales se leen del .env del host (Supabase + DEV_* para desarrollo local). | |
| # En producción (HF Spaces) cada usuario pone las suyas vía la UI. | |
| services: | |
| api: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile | |
| ports: | |
| - "8000:8000" # gateway: UI en / y API en /api | |
| env_file: | |
| - .env # lee DATABASE_URL, DEV_*, SUPABASE_* del host | |
| environment: | |
| - APP_ENV=development # permite fallback a DEV_* keys | |
| - COUNTING_ENABLED=false | |
| - RATE_LIMIT_PER_MIN=120 | |
| healthcheck: | |
| test: ["CMD-SHELL", "python -c \"import urllib.request; urllib.request.urlopen('http://localhost:8000/api/status')\""] | |
| interval: 15s | |
| timeout: 5s | |
| retries: 5 | |
| # Nota: para el CONTEO real (cuando exista el modelo) se descomenta el bloque | |
| # hf_hub_download del Dockerfile y se ponen COUNTING_ENABLED=true, MODEL_BACKEND=onnx. | |
| # No se montan volúmenes: el conteo en standby no requiere modelo ni sample_data. | |