FROM python:3.13-slim AS base ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 ENV PIP_NO_CACHE_DIR=1 WORKDIR /app RUN apt-get update \ && apt-get upgrade -y \ && rm -rf /var/lib/apt/lists/* RUN addgroup --system app && adduser --system --ingroup app app COPY requirements.txt /app/requirements.txt RUN pip install --upgrade pip && pip install -r /app/requirements.txt COPY . /app RUN chmod +x /app/entrypoint.sh USER app EXPOSE 8000 HEALTHCHECK --interval=30s --timeout=5s --retries=5 CMD python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/api/v1/healthz')" || exit 1 CMD ["/app/entrypoint.sh"]