FROM python:3.12-slim WORKDIR /app RUN apt-get update && apt-get install -y --no-install-recommends \ libpq-dev \ gcc \ git \ gosu \ docker.io \ && rm -rf /var/lib/apt/lists/* COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . RUN mkdir -p /app/uploads \ && adduser --disabled-password --gecos "" appuser \ && chown -R appuser:appuser /app \ && chmod +x /app/entrypoint.sh ENV FLASK_APP=wsgi:app ENV GIT_CONFIG_COUNT=1 ENV GIT_CONFIG_KEY_0=safe.directory ENV GIT_CONFIG_VALUE_0=/repo EXPOSE 8000 ENTRYPOINT ["/app/entrypoint.sh"] CMD ["gunicorn", "-c", "gunicorn.conf.py", "wsgi:app"]