FROM python:3.11-slim # Hugging Face Spaces runs containers as uid 1000. Create a matching user so the # app owns its own HOME -- the SQLite working copy lives under $HOME/data. RUN useradd -m -u 1000 user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH \ PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 WORKDIR $HOME/app COPY --chown=user:user requirements.txt . USER user RUN pip install --no-cache-dir --upgrade pip \ && pip install --no-cache-dir -r requirements.txt COPY --chown=user:user . . # Spaces routes public traffic to app_port (see README.md frontmatter). EXPOSE 7860 CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]