mirror of
https://github.com/tiennm99/litellm.git
synced 2026-07-17 06:17:39 +00:00
- UV_IMAGE across all Dockerfiles: 0.10.9 -> 0.11.7. - Loosen `required-version` in enterprise/ and litellm-proxy-extras/ from strict `==0.10.9` to `>=0.10.9` so the new Docker image can build those workspace members. Matches the main pyproject range. - Drop the `sed` block that rewrote tar/minimatch version ranges in npm's bundled package.json files. The override loop above already swaps the vendored directories on disk; npm doesn't re-resolve at runtime, so the sed was cosmetic.
31 lines
1.3 KiB
Docker
31 lines
1.3 KiB
Docker
ARG UV_IMAGE=ghcr.io/astral-sh/uv:0.11.7@sha256:733b4042187702f832f7fdecb3aff14a61b288c4ca37af188bb5715c1caebaf8
|
|
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"]
|