59856bd4fc
Services: Pipecat agent (LiveKit + Claude + Whisper STT + Piper TTS), SpeechBrain analysis service, Piper TTS service, web client (nginx). Includes LiveKit server config and docker-compose orchestration. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
34 lines
915 B
Docker
Executable File
34 lines
915 B
Docker
Executable File
FROM python:3.11-slim
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
libsndfile1 \
|
|
ffmpeg \
|
|
git \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Pre-download the SpeechBrain model at build time
|
|
RUN python -c "\
|
|
from speechbrain.inference.interfaces import foreign_class; \
|
|
foreign_class( \
|
|
source='speechbrain/emotion-recognition-wav2vec2-IEMOCAP', \
|
|
pymodule_file='custom_interface.py', \
|
|
classname='CustomEncoderWav2vec2Classifier', \
|
|
savedir='/app/models', \
|
|
run_opts={'device': 'cpu'}, \
|
|
); \
|
|
print('Model downloaded successfully.')"
|
|
|
|
COPY . .
|
|
|
|
EXPOSE 8001
|
|
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=90s \
|
|
CMD python -c "import httpx; httpx.get('http://localhost:8001/health').raise_for_status()"
|
|
|
|
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8001", "--workers", "1"]
|