# PrimeTTS real-time streaming demo — FastAPI + WebSocket + Web Audio (ONNX, torch-free). FROM python:3.10-slim ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates libgomp1 && rm -rf /var/lib/apt/lists/* COPY requirements.txt /app/requirements.txt RUN pip install --no-cache-dir -r /app/requirements.txt RUN useradd -m -u 1000 user ENV HOME=/home/user HF_HOME=/home/user/.cache/huggingface \ G2PW_CACHE=/home/user/.cache/g2pw NUMBA_CACHE_DIR=/tmp/numba WORKDIR /app COPY . /app RUN cd /app && python -c "from g2pw_min.api import download_model; download_model('G2PWModel')" && \ chmod -R a+rX /app USER user EXPOSE 7860 CMD ["uvicorn", "server:app", "--host", "0.0.0.0", "--port", "7860"]