# syntax=docker/dockerfile:1 FROM python:3.12-slim AS base ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update \ && apt-get install -y --no-install-recommends \ build-essential \ curl \ git \ && rm -rf /var/lib/apt/lists/* RUN pip install --no-cache-dir uv WORKDIR /app ENV UV_PROJECT_ENVIRONMENT=/app/.venv ENV UV_PIP_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple ENV HF_ENDPOINT=https://hf-mirror.com ENV HF_HOME=/app/.cache/huggingface ENV TRANSFORMERS_CACHE=/app/.cache/huggingface/transformers ENV HF_DATASETS_CACHE=/app/.cache/huggingface/datasets ENV EMBEDDING_ATLAS_DEVICE=cpu RUN mkdir -p "$HF_HOME" "$TRANSFORMERS_CACHE" "$HF_DATASETS_CACHE" VOLUME ["/app/.cache/huggingface"] COPY pyproject.toml README.md ./ COPY src ./src COPY script ./script # Install dependencies with uv. When a lock file is present it will be used automatically. RUN uv sync --no-dev || uv sync --no-dev ENV PATH="/app/.venv/bin:$PATH" ENV EMBEDDING_API_HOST=0.0.0.0 ENV EMBEDDING_API_PORT=9000 EXPOSE 9000