FROM golang:1.26 AS build WORKDIR /src COPY src/go.mod src/go.sum ./ COPY src/cmd ./cmd COPY src/internal ./internal RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/lethed ./cmd/lethed FROM python:3.12-slim RUN useradd -m -u 1000 user WORKDIR /home/user/app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY --from=build /out/lethed /usr/local/bin/lethed COPY lethe_client ./lethe COPY app.py ranking.py start.sh ./ ENV FASTEMBED_CACHE_PATH=/home/user/fastembed RUN python -c "from fastembed import TextEmbedding; TextEmbedding('sentence-transformers/all-MiniLM-L6-v2')" RUN chmod +x start.sh && chown -R user:user /home/user USER user EXPOSE 7860 CMD ["./start.sh"]