31 lines
840 B
Docker
31 lines
840 B
Docker
FROM python:3.13-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
ENV HOME=/home/litellm
|
|
ENV PATH="${HOME}/venv/bin:$PATH"
|
|
|
|
# Install runtime dependencies
|
|
# Note: Using Python 3.13 for compatibility with ddtrace and other packages
|
|
# rust and cargo are required for building ddtrace from source
|
|
# musl-dev and libffi-dev are needed for some Python packages on Alpine
|
|
RUN apk update && \
|
|
apk add --no-cache gcc musl-dev libffi-dev openssl openssl-dev rust cargo
|
|
|
|
RUN python -m venv ${HOME}/venv
|
|
RUN ${HOME}/venv/bin/pip install --no-cache-dir --upgrade pip
|
|
|
|
COPY docker/build_from_pip/requirements.txt .
|
|
RUN --mount=type=cache,target=${HOME}/.cache/pip \
|
|
${HOME}/venv/bin/pip install -r requirements.txt
|
|
|
|
# Copy Prisma schema file
|
|
COPY schema.prisma .
|
|
|
|
# Generate prisma client
|
|
RUN prisma generate
|
|
|
|
EXPOSE 4000/tcp
|
|
|
|
ENTRYPOINT ["litellm"]
|
|
CMD ["--port", "4000"] |