Files
embedding_atlas/docker/Dockerfile
2025-10-23 16:21:52 +08:00

42 lines
1.0 KiB
Docker

# 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