FROM python:3.12-slim RUN apt-get update && apt-get install -y --no-install-recommends \ libsndfile1 gcc build-essential && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY pyproject.toml . # Install torch CPU-only, resemblyzer, and cron deps # silero-vad pip package excluded — not needed in cron (no VAD processing) RUN pip install --no-cache-dir torch --index-url https://download.pytorch.org/whl/cpu && \ pip install --no-cache-dir resemblyzer scipy numpy httpx pydantic-settings COPY app/ app/ # Pre-download resemblyzer model RUN python -c "from resemblyzer import VoiceEncoder; VoiceEncoder()" ENV PYTHONUNBUFFERED=1 CMD ["python", "-m", "app.cron.main"]