Use uv venv for embedding, pre-download model in Docker build

- Use /app/venv with uv instead of system python/pip
- Pre-download all-MiniLM-L6-v2 model during Docker build

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-01 08:33:21 +00:00
parent fbf636868c
commit ddbe61818b
2 changed files with 4 additions and 3 deletions

View File

@@ -8,10 +8,11 @@ RUN npm run build
# Stage 2: Runtime
FROM alpine:3.21
RUN apk add --no-cache ca-certificates curl bash python3 py3-pip
RUN apk add --no-cache ca-certificates curl bash
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
ENV PATH="/root/.local/bin:$PATH"
RUN pip3 install --break-system-packages sentence-transformers
RUN uv venv /app/venv && uv pip install --python /app/venv/bin/python sentence-transformers
RUN /app/venv/bin/python -c "from sentence_transformers import SentenceTransformer; SentenceTransformer('all-MiniLM-L6-v2')"
RUN mkdir -p /app/data/workspaces
WORKDIR /app
COPY target/aarch64-unknown-linux-musl/release/tori .