| | FROM python:3.10-slim AS builder |
| |
|
| | WORKDIR /app |
| |
|
| | ENV PYTHONDONTWRITEBYTECODE=1 |
| | ENV PYTHONUNBUFFERED=1 |
| |
|
| | RUN apt-get update && apt-get install -y \ |
| | gcc \ |
| | python3-dev \ |
| | curl \ |
| | git \ |
| | && rm -rf /var/lib/apt/lists/* |
| |
|
| | RUN pip install --no-cache-dir uv |
| |
|
| | COPY requirements.txt . |
| |
|
| | ENV UV_HTTP_TIMEOUT=300 |
| | RUN uv venv .venv && \ |
| | uv pip install --no-cache -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cpu |
| |
|
| | FROM python:3.10-slim |
| |
|
| | WORKDIR /app |
| |
|
| | ENV PYTHONDONTWRITEBYTECODE=1 |
| | ENV PYTHONUNBUFFERED=1 |
| | ENV PATH="/app/.venv/bin:$PATH" |
| | ENV LANG=C.UTF-8 |
| | ENV LC_ALL=C.UTF-8 |
| |
|
| | RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/* |
| |
|
| | COPY --from=builder /app/.venv /app/.venv |
| |
|
| | COPY scripts/ ./scripts/ |
| |
|
| | ENV HF_HOME=/app/data/model_cache |
| |
|
| | RUN /app/.venv/bin/python scripts/download_model.py |
| |
|
| | RUN mkdir -p data/catalog data/index |
| | RUN /app/.venv/bin/python scripts/download_artifacts.py |
| |
|
| | COPY src/ ./src/ |
| |
|
| | |
| | |
| |
|
| | |
| |
|
| | EXPOSE 7860 |
| |
|
| | CMD ["/app/.venv/bin/uvicorn", "src.personalization.api.main:app", "--host", "0.0.0.0", "--port", "7860"] |
| |
|