Sanjeev1412's picture
Update Dockerfile
a6bcccb verified
Raw
History Blame Contribute Delete
1.83 kB
# ── Base image ────────────────────────────────────────────────────────────────
FROM python:3.11-slim
# ── System build tools β€” must run as ROOT before switching to user ────────────
# gcc/g++ are required by torch.compile's inductor backend on CPU
RUN apt-get update && \
apt-get install -y --no-install-recommends gcc g++ build-essential && \
rm -rf /var/lib/apt/lists/*
# ── Create non-root user (HuggingFace Spaces requires uid=1000) ───────────────
RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH \
HF_HOME=/home/user/.cache/huggingface \
PYTHONUNBUFFERED=1
WORKDIR /home/user/app
# ── Install Python dependencies ───────────────────────────────────────────────
COPY --chown=user requirements.txt .
RUN pip install --no-cache-dir --upgrade pip \
&& pip install --no-cache-dir -r requirements.txt
# ── Copy application code ─────────────────────────────────────────────────────
COPY --chown=user app.py .
# ── HuggingFace Spaces requires port 7860 ────────────────────────────────────
EXPOSE 7860
# ── Start server ──────────────────────────────────────────────────────────────
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]