FROM python:3.12-slim ENV DEBIAN_FRONTEND=noninteractive \ PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ PORT=5001 \ HOST=0.0.0.0 \ LOG_LEVEL=INFO \ TRUST_PROXY=1 RUN apt-get update && apt-get install -y --no-install-recommends \ libcairo2 \ libpango-1.0-0 \ libpangocairo-1.0-0 \ libgdk-pixbuf-2.0-0 \ shared-mime-info \ fonts-noto \ fonts-noto-color-emoji \ && rm -rf /var/lib/apt/lists/* WORKDIR /app RUN addgroup --system app && adduser --system --ingroup app app COPY requirements.txt . RUN pip install --no-cache-dir --disable-pip-version-check -r requirements.txt COPY src/ . RUN mkdir -p generated uploads RUN chown -R app:app /app USER app EXPOSE 5001 CMD ["gunicorn", "--bind", "0.0.0.0:5001", "--workers", "2", "--threads", "4", "--timeout", "180", "--graceful-timeout", "30", "--access-logfile", "-", "--error-logfile", "-", "app:app"]