# ---- 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