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/ # RUN addgroup --system app && adduser --system --group app && \ # chown -R app:app /app # USER app EXPOSE 7860 CMD ["/app/.venv/bin/uvicorn", "src.personalization.api.main:app", "--host", "0.0.0.0", "--port", "7860"]