| FROM nvidia/cuda:12.4.1-devel-ubuntu22.04 |
|
|
| ENV DEBIAN_FRONTEND=noninteractive |
| ENV PYTHONUNBUFFERED=1 |
| ENV HF_HOME=/app/model_cache |
| ENV TORCH_HOME=/app/torch_cache |
|
|
| |
| RUN apt-get update && apt-get install -y \ |
| software-properties-common \ |
| git \ |
| curl \ |
| ffmpeg \ |
| libsndfile1 \ |
| && add-apt-repository ppa:deadsnakes/ppa \ |
| && apt-get update \ |
| && apt-get install -y python3.12 python3.12-venv python3.12-dev \ |
| && curl -sS https://bootstrap.pypa.io/get-pip.py | python3.12 \ |
| && ln -sf /usr/bin/python3.12 /usr/bin/python \ |
| && ln -sf /usr/bin/python3.12 /usr/bin/python3 \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| RUN apt-get update && apt-get remove -y python3-blinker || true \ |
| && rm -rf /usr/lib/python3/dist-packages/blinker* \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| COPY requirements.txt /app/requirements.txt |
| WORKDIR /app |
| RUN pip install --no-cache-dir --break-system-packages -r requirements.txt |
|
|
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| |
| |
| RUN mkdir -p /app/model_cache /app/torch_cache && \ |
| python -c "from huggingface_hub import snapshot_download; snapshot_download('Qwen/Qwen3-ASR-1.7B', cache_dir='/app/model_cache')" && \ |
| echo "ASR model pre-downloaded" |
|
|
| |
| RUN python -c "import torch; torch.hub.load('snakers4/silero-vad', 'silero_vad', trust_repo=True); print('Silero VAD cached')" || echo "VAD pre-download failed, will retry at runtime" |
|
|
| |
| COPY . /app |
|
|
| EXPOSE 7860 |
|
|
| |
| HEALTHCHECK --interval=30s --timeout=30s --start-period=600s --retries=3 \ |
| CMD curl -f http://localhost:7860/health || exit 1 |
|
|
| CMD ["python", "main_async.py"] |
| |
|
|