| # Fill in the base image with the correct Python version (e.g., python:3.9) | |
| FROM python:3.9 | |
| # Fill in the username to be created (e.g., user) | |
| RUN useradd -m -u 1000 user | |
| # Blank #3: Specify the username for subsequent commands (e.g., user) | |
| USER user | |
| # Fill in the username in the PATH environment variable (e.g., user) | |
| ENV PATH="/home/user/.local/bin:$PATH" | |
| # Set working directory | |
| WORKDIR /app | |
| # Use the same username for file ownership when copying requirements (e.g., user) | |
| COPY --chown=user ./requirements.txt requirements.txt | |
| RUN pip install --no-cache-dir --upgrade -r requirements.txt | |
| # Use the same username for file ownership when copying the app files (e.g., user) | |
| COPY --chown=user . /app | |
| # Start the Streamlit app on port 7860, the default port expected by Spaces | |
| CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"] | |
| # Reference: https://huggingface.co/docs/hub/en/spaces-sdks-docker | |