FROM python:3.12-slim # Set environment variables ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ PORT=5000 # Set working directory WORKDIR /app # Install system dependencies (if any needed) # RUN apt-get update && apt-get install -y --no-install-recommends \ # && rm -rf /var/lib/apt/lists/* # Copy requirements first for better layer caching COPY requirements.txt . # Install Python dependencies RUN pip install --no-cache-dir -r requirements.txt # Copy application code COPY app.py . COPY templates/ templates/ # Create a non-root user to run the app RUN useradd -m appuser USER appuser # Expose the port EXPOSE 5000 # Run the app with gunicorn CMD ["sh", "-c", "gunicorn --bind 0.0.0.0:${PORT} --workers 2 --threads 4 app:app"]