Spaces:
Paused
Paused
| # ---- Base image ---- | |
| FROM python:3.10-slim | |
| # ---- Environment ---- | |
| ENV PYTHONUNBUFFERED=1 | |
| ENV PYTHONDONTWRITEBYTECODE=1 | |
| # Hugging Face Spaces expects port 7860 | |
| ENV PORT=7860 | |
| # ---- System deps (minimal) ---- | |
| RUN apt-get update && apt-get install -y \ | |
| build-essential \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Install system dependencies | |
| RUN apt-get update && apt-get install -y \ | |
| curl \ | |
| ca-certificates \ | |
| # lklklkl | |
| && rm -rf /var/lib/apt/lists/* | |
| # Install cloudflared (NO sudo, NO service install) | |
| RUN curl -fsSL https://pkg.cloudflare.com/cloudflare-public-v2.gpg \ | |
| | tee /usr/share/keyrings/cloudflare-public-v2.gpg >/dev/null && \ | |
| echo "deb [signed-by=/usr/share/keyrings/cloudflare-public-v2.gpg] https://pkg.cloudflare.com/cloudflared any main" \ | |
| | tee /etc/apt/sources.list.d/cloudflared.list && \ | |
| apt-get update && \ | |
| apt-get install -y cloudflared && \ | |
| rm -rf /var/lib/apt/lists/* | |
| # ---- Workdir ---- | |
| WORKDIR /app | |
| # ---- Copy requirements first (for layer caching) ---- | |
| COPY requirements.txt . | |
| # ---- Install Python deps ---- | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # ---- Copy app ---- | |
| COPY . . | |
| # ---- Expose HF port ---- | |
| EXPOSE 7860 | |
| # ---- Run server ---- | |
| CMD cloudflared tunnel run --token $CLOUDFLARED_TOKEN & python app.py | |