ARG PYTHON_VERSION=3.12.11 FROM python:${PYTHON_VERSION}-slim as base ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ gcc \ postgresql-client \ curl \ tini \ && rm -rf /var/lib/apt/lists/* ARG UID=10001 ARG GID=10001 RUN groupadd -g ${GID} appuser && useradd -u ${UID} -g ${GID} -M -d /nonexistent -s /usr/sbin/nologin appuser WORKDIR /app RUN mkdir -p /app/logs && chown -R appuser:appuser /app COPY ../requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY ../common /app/common COPY ../config /app/config COPY ../scripts /app/scripts COPY ../patched_packages /app/patched_packages RUN chown -R appuser:appuser /app && chmod +x /app/scripts/start.sh ENV PYTHONPATH=/app:/app/patched_packages:${PYTHONPATH} USER appuser EXPOSE 8080 ENTRYPOINT ["/usr/bin/tini","-g","--"] CMD ["bash","-lc","scripts/start.sh"]