25 lines
563 B
Docker
25 lines
563 B
Docker
FROM python:3.12-slim AS base
|
|
|
|
ENV PYTHONDONTWRITEBYTECODE=1
|
|
ENV PYTHONUNBUFFERED=1
|
|
ENV PIP_NO_CACHE_DIR=1
|
|
|
|
WORKDIR /app
|
|
|
|
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"]
|