# Use Python 3.10 base image FROM python:3.10-slim # Create a non-root user for security RUN useradd -m -u 1000 user USER user ENV PATH="/home/user/.local/bin:${PATH}" # Set working directory WORKDIR /app # Install Python dependencies first for layer caching COPY --chown=user requirements.txt . RUN pip install --no-cache-dir --upgrade -r requirements.txt # Copy application code COPY --chown=user . . # Expose Gradio's default port EXPOSE 7860 # Launch the application with Spaces-compatible settings CMD ["python", "app.py"]