From 83306fe0c939f91a284050f671daf3ea1eda43ba Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Mon, 8 Jan 2024 10:37:47 +0530 Subject: [PATCH] build(Dockerfile): fix pr merge issues --- Dockerfile | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index a9354d257..bb0b2ea6a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,36 @@ +# Base image for building +ARG LITELLM_BUILD_IMAGE=python:3.9 # Runtime image ARG LITELLM_RUNTIME_IMAGE=python:3.9-slim +# Builder stage +FROM $LITELLM_BUILD_IMAGE as builder + +# Set the working directory to /app +WORKDIR /app + +# Install build dependencies +RUN apt-get clean && apt-get update && \ + apt-get install -y gcc python3-dev && \ + rm -rf /var/lib/apt/lists/* + +RUN pip install --upgrade pip && \ + pip install build + +# Copy the current directory contents into the container at /app +COPY . . + +# Build the package +RUN rm -rf dist/* && python -m build + +# There should be only one wheel file now, assume the build only creates one +RUN ls -1 dist/*.whl | head -1 + +# Install the package +RUN pip install dist/*.whl + +# install dependencies as wheels +RUN pip wheel --no-cache-dir --wheel-dir=/wheels/ -r requirements.txt # Runtime stage FROM $LITELLM_RUNTIME_IMAGE as runtime @@ -12,8 +42,8 @@ COPY . . RUN ls -la /app # Copy the built wheel from the builder stage to the runtime stage; assumes only one wheel file is present -COPY --from=runtime /app/dist/*.whl . -COPY --from=runtime /wheels/ /wheels/ +COPY --from=builder /app/dist/*.whl . +COPY --from=builder /wheels/ /wheels/ # Install the built wheel using pip; again using a wildcard if it's the only file RUN pip install --no-cache-dir --find-links=/wheels/ -r requirements.txt \ @@ -30,8 +60,8 @@ RUN if [ "$with_database" = "true" ]; then \ /app/retry_push.sh; \ fi -EXPOSE 8000/tcp +EXPOSE 4000/tcp # Set your entrypoint and command ENTRYPOINT ["litellm"] -CMD ["--config", "./proxy_server_config.yaml", "--port", "8000", "--num_workers", "8"] \ No newline at end of file +CMD ["--port", "4000"] \ No newline at end of file