diff --git a/Dockerfile b/Dockerfile index 5747680e86..28978898d7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -108,29 +108,13 @@ RUN echo -n 00000000-0000-0000-0000-000000000000 > $HOME/.cache/chroma/telemetry # Make sure the user has access to the app and root directory RUN chown -R $UID:$GID /app $HOME -RUN if [ "$USE_OLLAMA" = "true" ]; then \ - apt-get update && \ - # Install pandoc and netcat - apt-get install -y --no-install-recommends git build-essential pandoc netcat-openbsd curl && \ - apt-get install -y --no-install-recommends gcc python3-dev && \ - # for RAG OCR - apt-get install -y --no-install-recommends ffmpeg libsm6 libxext6 && \ - # install helper tools - apt-get install -y --no-install-recommends curl jq && \ - # install ollama - curl -fsSL https://ollama.com/install.sh | sh && \ - # cleanup - rm -rf /var/lib/apt/lists/*; \ - else \ - apt-get update && \ - # Install pandoc, netcat and gcc - apt-get install -y --no-install-recommends git build-essential pandoc gcc netcat-openbsd curl jq && \ - apt-get install -y --no-install-recommends gcc python3-dev && \ - # for RAG OCR - apt-get install -y --no-install-recommends ffmpeg libsm6 libxext6 && \ - # cleanup - rm -rf /var/lib/apt/lists/*; \ - fi +# Install common system dependencies +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + git build-essential pandoc gcc netcat-openbsd curl jq \ + python3-dev \ + ffmpeg libsm6 libxext6 \ + && rm -rf /var/lib/apt/lists/* # install python dependencies COPY --chown=$UID:$GID ./backend/requirements.txt ./requirements.txt @@ -152,7 +136,13 @@ RUN pip3 install --no-cache-dir uv && \ fi; \ chown -R $UID:$GID /app/backend/data/ - +# Install Ollama if requested +RUN if [ "$USE_OLLAMA" = "true" ]; then \ + date +%s > /tmp/ollama_build_hash && \ + echo "Cache broken at timestamp: `cat /tmp/ollama_build_hash`" && \ + curl -fsSL https://ollama.com/install.sh | sh && \ + rm -rf /var/lib/apt/lists/*; \ + fi # copy embedding weight from build # RUN mkdir -p /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2