FROM python:3.11-slim # Create non-root user RUN useradd -m -u 1000 appuser # Set working directory WORKDIR /app # Copy requirements first for better caching COPY requirements.txt . # Install dependencies RUN pip install --no-cache-dir -r requirements.txt # Copy only necessary files COPY main.py . # Create uploads directory RUN mkdir -p uploads && chown appuser:appuser uploads # Switch to non-root user USER appuser # Expose port EXPOSE 8000 # Run the application CMD ["python", "main.py"]