Spaces:
Sleeping
Sleeping
| FROM python:3.11-slim | |
| # System deps | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| build-essential curl \ | |
| && rm -rf /var/lib/apt/lists/* | |
| WORKDIR /app | |
| # Install Python dependencies first (layer cache) | |
| COPY requirements.txt . | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # Copy project | |
| COPY . . | |
| EXPOSE 7860 | |
| # Runtime environment variables | |
| # HF_TOKEN must be supplied at runtime as a Space Secret — never hardcoded here. | |
| ENV PORT=7860 \ | |
| API_BASE_URL="https://router.huggingface.co/v1" \ | |
| MODEL_NAME="meta-llama/Meta-Llama-3-8B-Instruct" \ | |
| LOCAL_IMAGE_NAME="synapse-x" | |
| # Health-check so HF Spaces detects readiness | |
| HEALTHCHECK --interval=30s --timeout=10s --start-period=15s --retries=3 \ | |
| CMD sh -c 'curl -sf "http://127.0.0.1:${PORT:-7860}/health" || exit 1' | |
| CMD ["sh", "-c", "uvicorn server.app:app --host 0.0.0.0 --port ${PORT:-7860}"] | |