mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-14 23:21:35 +00:00
Apply the same fix to the three Dockerfiles not in the release pipeline
today (alpine, dev, health_check) so they stay correct if/when they're
built for arm64 in the future.
Wolfi pins are not present in these files; the python:3.11-alpine and
python:3.13-slim digests they already use are multi-arch indexes that
include arm64/v8, so only the uv pin needed swapping.
(cherry picked from commit 25a5cccc7a)
30 lines
1.3 KiB
Text
30 lines
1.3 KiB
Text
ARG UV_IMAGE=ghcr.io/astral-sh/uv:0.11.7@sha256:240fb85ab0f263ef12f492d8476aa3a2e4e1e333f7d67fbdd923d00a506a516a
|
|
FROM $UV_IMAGE AS uvbin
|
|
|
|
FROM python:3.13-slim@sha256:739e7213785e88c0f702dcdc12c0973afcbd606dbf021a589cab77d6b00b579d
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy the uv binary and the health check script.
|
|
COPY --from=uvbin /uv /usr/local/bin/uv
|
|
COPY pyproject.toml uv.lock /app/
|
|
COPY scripts/health_check/health_check_client.py /app/health_check_client.py
|
|
|
|
# Resolve and install the health-check dependencies from the project lockfile
|
|
# so the runtime image stays self-contained and reproducible.
|
|
RUN uv export --frozen --no-default-groups --only-group healthcheck --no-emit-project --no-hashes --output-file /tmp/health-check-requirements.txt \
|
|
&& uv pip install --system -r /tmp/health-check-requirements.txt \
|
|
&& rm /tmp/health-check-requirements.txt \
|
|
&& rm /app/pyproject.toml /app/uv.lock \
|
|
&& chmod +x /app/health_check_client.py
|
|
|
|
# Run as non-root user
|
|
RUN groupadd --gid 1000 appuser && useradd --uid 1000 --gid 1000 --no-create-home appuser
|
|
USER appuser
|
|
|
|
# Health check
|
|
HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 \
|
|
CMD ["python", "/app/health_check_client.py", "--help"]
|
|
|
|
# Set entrypoint
|
|
ENTRYPOINT ["python", "/app/health_check_client.py"]
|