FROM python:3.12-slim
ENV PYTHONUNBUFFERED=1 \
    PYTHONDONTWRITEBYTECODE=1 \
    PIP_NO_CACHE_DIR=1
WORKDIR /app

# torch ставим отдельно в облегчённой версии для процессора (без CUDA)
RUN pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu

COPY requirements.txt .
RUN pip install -r requirements.txt

COPY app ./app

RUN useradd -r -m -u 1001 app \
 && mkdir -p /models \
 && chown app /models
USER app

ENV MODEL_CACHE_DIR=/models
ENV HF_HOME=/models/hf
EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]