neuapi / Dockerfile
gavanduffy
Fix CORS config: use str type to avoid pydantic-settings JSON parsing; fallback gracefully for env var format issues
97fe226
raw
history blame contribute delete
997 Bytes
FROM python:3.10-slim
ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1
RUN apt-get update && apt-get install -y --no-install-recommends \
espeak-ng libespeak-ng-dev \
ffmpeg libsndfile1 \
git curl \
&& rm -rf /var/lib/apt/lists/*
ENV PHONEMIZER_ESPEAK_LIBRARY=/usr/lib/x86_64-linux-gnu/libespeak-ng.so.1
ENV ESPEAK_DATA_PATH=/usr/lib/x86_64-linux-gnu/espeak-ng-data
ENV HF_HOME=/data/huggingface
ENV NEUTTS_HOST=0.0.0.0
ENV NEUTTS_PORT=7860
ENV NEUTTS_DEFAULT_MODELS=neutts-nano-q4-gguf
ENV NEUTTS_DEFAULT_CODEC=neuphonic/neucodec-onnx-decoder
ENV NEUTTS_DEFAULT_BACKBONE_DEVICE=cpu
ENV NEUTTS_DEFAULT_CODEC_DEVICE=cpu
ENV NEUTTS_DEFAULT_VOICE=jo
ENV NEUTTS_LOG_LEVEL=INFO
ENV NEUTTS_CORS_ENABLED=true
ENV NEUTTS_CORS_ORIGINS=*
RUN pip install --no-cache-dir uv
WORKDIR /app
COPY pyproject.toml .
RUN uv pip install --system --no-cache-dir ".[cpu]"
COPY . .
RUN mkdir -p /data/huggingface /app/api/src/voices/custom
EXPOSE 7860
ENTRYPOINT ["bash", "entrypoint.sh"]