@@ -135,29 +135,30 @@ RUN apt-get update && \
135135# install python dependencies
136136COPY --chown=$UID:$GID ./backend/requirements.txt ./requirements.txt
137137
138- RUN pip3 install --no-cache-dir uv && \
138+ RUN set -e; \
139+ pip3 install --no-cache-dir uv; \
139140 if [ "$USE_CUDA" = "true" ]; then \
140141 # If you use CUDA the whisper and embedding model will be downloaded on first use
141142 # fix: pin torch<=2.9.1 - torch 2.10.0 aarch64 wheels cause SIGILL on ARM devices (RPi 4 Cortex-A72) #21349
142- pip3 install 'torch<=2.9.1' torchvision torchaudio --index-url https://download.pytorch.org/whl/$USE_CUDA_DOCKER_VER --no-cache-dir && \
143- uv pip install --system -r requirements.txt --no-cache-dir && \
144- python -c "import os; from sentence_transformers import SentenceTransformer; SentenceTransformer(os.environ['RAG_EMBEDDING_MODEL'], device='cpu')" && \
145- python -c "import os; from sentence_transformers import SentenceTransformer; SentenceTransformer(os.environ.get('AUXILIARY_EMBEDDING_MODEL', 'TaylorAI/bge-micro-v2'), device='cpu')" && \
143+ pip3 install 'torch<=2.9.1' torchvision torchaudio --index-url https://download.pytorch.org/whl/$USE_CUDA_DOCKER_VER --no-cache-dir; \
144+ uv pip install --system -r requirements.txt --no-cache-dir; \
145+ python -c "import os; from sentence_transformers import SentenceTransformer; SentenceTransformer(os.environ['RAG_EMBEDDING_MODEL'], device='cpu')" ; \
146+ python -c "import os; from sentence_transformers import SentenceTransformer; SentenceTransformer(os.environ.get('AUXILIARY_EMBEDDING_MODEL', 'TaylorAI/bge-micro-v2'), device='cpu')" ; \
146147 python -c "import os; from faster_whisper import WhisperModel; WhisperModel(os.environ['WHISPER_MODEL'], device='cpu', compute_type='int8', download_root=os.environ['WHISPER_MODEL_DIR'])" ; \
147148 python -c "import os; import tiktoken; tiktoken.get_encoding(os.environ['TIKTOKEN_ENCODING_NAME'])" ; \
148149 python -c "import nltk; nltk.download('punkt_tab')" ; \
149150 else \
150- pip3 install 'torch<=2.9.1' torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu --no-cache-dir && \
151- uv pip install --system -r requirements.txt --no-cache-dir && \
151+ pip3 install 'torch<=2.9.1' torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu --no-cache-dir; \
152+ uv pip install --system -r requirements.txt --no-cache-dir; \
152153 if [ "$USE_SLIM" != "true" ]; then \
153- python -c "import os; from sentence_transformers import SentenceTransformer; SentenceTransformer(os.environ['RAG_EMBEDDING_MODEL'], device='cpu')" && \
154- python -c "import os; from sentence_transformers import SentenceTransformer; SentenceTransformer(os.environ.get('AUXILIARY_EMBEDDING_MODEL', 'TaylorAI/bge-micro-v2'), device='cpu')" && \
154+ python -c "import os; from sentence_transformers import SentenceTransformer; SentenceTransformer(os.environ['RAG_EMBEDDING_MODEL'], device='cpu')" ; \
155+ python -c "import os; from sentence_transformers import SentenceTransformer; SentenceTransformer(os.environ.get('AUXILIARY_EMBEDDING_MODEL', 'TaylorAI/bge-micro-v2'), device='cpu')" ; \
155156 python -c "import os; from faster_whisper import WhisperModel; WhisperModel(os.environ['WHISPER_MODEL'], device='cpu', compute_type='int8', download_root=os.environ['WHISPER_MODEL_DIR'])" ; \
156157 python -c "import os; import tiktoken; tiktoken.get_encoding(os.environ['TIKTOKEN_ENCODING_NAME'])" ; \
157158 python -c "import nltk; nltk.download('punkt_tab')" ; \
158159 fi; \
159160 fi; \
160- mkdir -p /app/backend/data && chown -R $UID:$GID /app/backend/data/ && \
161+ mkdir -p /app/backend/data; chown -R $UID:$GID /app/backend/data/; \
161162 rm -rf /var/lib/apt/lists/*;
162163
163164# Install Ollama if requested
0 commit comments