programming_ai / Dockerfile
abubasith86's picture
Update Dockerfile
8edbea9 verified
Raw
History Blame Contribute Delete
1.1 kB
FROM python:3.11-slim
# libsndfile1 is needed by the `soundfile` package for writing WAV files.
# sox (+ format plugins) is needed because qwen_tts' audio pipeline shells
# out to the `sox` CLI binary directly -- the Python `soundfile`/`torchaudio`
# packages alone don't provide it.
RUN apt-get update && apt-get install -y --no-install-recommends \
libsndfile1 \
sox \
libsox-fmt-all \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# Spaces run containers as UID 1000; matching that avoids permission issues
# writing to the HF cache dir under $HOME.
RUN useradd -m -u 1000 user
WORKDIR /home/user/app
COPY --chown=user requirements.txt .
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
COPY --chown=user . .
USER user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH \
PYTHONUNBUFFERED=1
# PYTHONUNBUFFERED=1 makes the startup/timing print() logs show up in the
# Space's log viewer immediately instead of sitting in a buffer.
EXPOSE 7860
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]