FROM python:3.12-slim ENV PYTHONDONTWRITEBYTECODE="1" \ PYTHONUNBUFFERED="1" # hadolint ignore=DL3013 RUN python3 -m pip install --no-cache-dir --upgrade pip setuptools wheel WORKDIR /app/ # Download models during build instead of copying from local COPY scripts/model_download.bash /tmp/model_download.bash RUN python3 -m pip install --no-cache-dir huggingface-hub && \ bash /tmp/model_download.bash && \ rm /tmp/model_download.bash COPY requirements.cpu.txt ./ RUN python3 -m pip install --no-cache-dir -r ./requirements.cpu.txt COPY requirements.torch.cpu.txt ./ RUN python3 -m pip install --no-cache-dir -r ./requirements.torch.cpu.txt COPY app ./app COPY main.py ./ EXPOSE 8000 ENTRYPOINT ["python3", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]