FROM python:3.12-slim WORKDIR /app ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ PIP_NO_CACHE_DIR=1 \ PORT=5000 COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt COPY . . RUN mkdir -p /app/data /app/data/uploads /tmp /run/gunicorn \ && chown -R 1000:1000 /app /tmp /run/gunicorn USER 1000:1000 EXPOSE 5000 CMD ["gunicorn", \ "--bind", "0.0.0.0:5000", \ "--workers", "1", \ "--threads", "4", \ "--timeout", "60", \ "--graceful-timeout", "20", \ "--keep-alive", "5", \ "--worker-tmp-dir", "/tmp", \ "--access-logfile", "-", \ "--error-logfile", "-", \ "app:app"]