266ea11447
FRIDAY Voice (speaches GPU STT/TTS + hermes agent + push-to-talk console) on .150 Docker Desktop, fronted by coach.hobbs.farm. Also captures the VoiceCoach compose/agent trees and deploy notes it replaced, which had never been committed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
28 lines
1003 B
Docker
28 lines
1003 B
Docker
FROM python:3.11-slim
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
libsndfile1 \
|
|
wget \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Download Piper voice model at build time from HuggingFace (lessac medium - good quality, fast on CPU)
|
|
RUN mkdir -p /app/models && \
|
|
wget -q "https://huggingface.co/rhasspy/piper-voices/resolve/main/en/en_US/lessac/medium/en_US-lessac-medium.onnx?download=true" \
|
|
-O /app/models/en_US-lessac-medium.onnx && \
|
|
wget -q "https://huggingface.co/rhasspy/piper-voices/resolve/main/en/en_US/lessac/medium/en_US-lessac-medium.onnx.json?download=true" \
|
|
-O /app/models/en_US-lessac-medium.onnx.json
|
|
|
|
COPY . .
|
|
|
|
EXPOSE 8003
|
|
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=30s \
|
|
CMD python -c "import httpx; httpx.get('http://localhost:8003/health').raise_for_status()"
|
|
|
|
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8003", "--workers", "1"]
|