1FROM nvidia/cuda:12.4.1-cudnn-runtime-ubuntu22.04 AS base
2
3ENV DEBIAN_FRONTEND=noninteractive
4ENV TZ=UTC
5ENV PYTHONUNBUFFERED=1
6
7RUN apt-get update && apt-get install -y --no-install-recommends \
8 dumb-init \
9 curl \
10 build-essential \
11 libsnappy-dev \
12 zlib1g-dev \
13 ca-certificates \
14 && apt-get clean \
15 && rm -rf /var/lib/apt/lists/*
16
17ADD https://astral.sh/uv/install.sh /uv-installer.sh
18
19RUN sh /uv-installer.sh && rm /uv-installer.sh
20
21ENV PATH="/root/.local/bin/:$PATH"
22
23WORKDIR /app
24
25COPY pyproject.toml uv.lock ./
26
27RUN uv sync --frozen --no-dev
28
29COPY *.py ./
30
31ENV METRICS_PORT=6009
32ENV EMBEDDING_DEVICE=cuda
33ENV NVIDIA_VISIBLE_DEVICES=all
34ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility
35
36EXPOSE 6009
37
38ENTRYPOINT ["/usr/bin/dumb-init", "--"]
39CMD ["uv", "run", "main.py"]