From c57321e2873c533a4f5d1cd5b278e3a8ca108656 Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Sun, 24 Nov 2024 23:34:59 +0100 Subject: Improve error handling in api, Update openapi.json workflow --- docker/Dockerfile-slim | 44 ++++++-------------------------------------- 1 file changed, 6 insertions(+), 38 deletions(-) (limited to 'docker') diff --git a/docker/Dockerfile-slim b/docker/Dockerfile-slim index 0a09395b..04238144 100644 --- a/docker/Dockerfile-slim +++ b/docker/Dockerfile-slim @@ -1,9 +1,8 @@ -FROM python:bookworm +FROM python:slim-bookworm ARG G4F_VERSION ARG G4F_USER=g4f ARG G4F_USER_ID=1000 -ARG PYDANTIC_VERSION=1.8.1 ENV G4F_VERSION $G4F_VERSION ENV G4F_USER $G4F_USER @@ -12,60 +11,29 @@ ENV G4F_DIR /app RUN apt-get update && apt-get upgrade -y \ && apt-get install -y git \ - && apt-get install --quiet --yes --no-install-recommends \ - build-essential \ # Add user and user group && groupadd -g $G4F_USER_ID $G4F_USER \ && useradd -rm -G sudo -u $G4F_USER_ID -g $G4F_USER_ID $G4F_USER \ && mkdir -p /var/log/supervisor \ && chown "${G4F_USER_ID}:${G4F_USER_ID}" /var/log/supervisor \ && echo "${G4F_USER}:${G4F_USER}" | chpasswd \ - && python -m pip install --upgrade pip + && python -m pip install --upgrade pip \ + && apt-get clean \ + && rm --recursive --force /var/lib/apt/lists/* /tmp/* /var/tmp/* USER $G4F_USER_ID WORKDIR $G4F_DIR ENV HOME /home/$G4F_USER -ENV PATH "${HOME}/.local/bin:${HOME}/.cargo/bin:${PATH}" +ENV PATH "${HOME}/.local/bin:${PATH}" # Create app dir and copy the project's requirements file into it RUN mkdir -p $G4F_DIR COPY requirements-min.txt $G4F_DIR COPY requirements-slim.txt $G4F_DIR -# Install rust toolchain -RUN curl https://sh.rustup.rs -sSf | bash -s -- -y - # Upgrade pip for the latest features and install the project's Python dependencies. -RUN pip install --no-cache-dir -r requirements-min.txt \ - && pip install --no-cache-dir --no-binary setuptools \ - Cython==0.29.22 \ - setuptools \ - # Install PyDantic - && pip install \ - -vvv \ - --no-cache-dir \ - --no-binary :all: \ - --global-option=build_ext \ - --global-option=-j8 \ - pydantic==${PYDANTIC_VERSION} \ - && cat requirements-slim.txt | xargs -n 1 pip install --no-cache-dir || true \ - # Remove build packages - && pip uninstall --yes \ - Cython \ - setuptools - -USER root - -# Clean up build deps -RUN rm --recursive --force "${HOME}/.rustup" \ - && rustup self uninstall -y \ - && apt-get purge --auto-remove --yes \ - build-essential \ - && apt-get clean \ - && rm --recursive --force /var/lib/apt/lists/* /tmp/* /var/tmp/* - -USER $G4F_USER_ID +RUN cat requirements-slim.txt | xargs -n 1 pip install --no-cache-dir || true # Copy the entire package into the container. ADD --chown=$G4F_USER:$G4F_USER g4f $G4F_DIR/g4f \ No newline at end of file -- cgit v1.2.3