|
FROM nvidia/cuda:12.8.1-cudnn-runtime-ubuntu22.04 |
|
|
|
ENV DEBIAN_FRONTEND=noninteractive |
|
ENV PYTHONUNBUFFERED=1 |
|
|
|
WORKDIR /app |
|
|
|
ARG EXTRAS |
|
ARG HF_PRECACHE_DIR |
|
ARG HF_TKN_FILE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RUN apt-get update && \ |
|
apt-get install -y --no-install-recommends \ |
|
python3 \ |
|
python3-pip \ |
|
ffmpeg \ |
|
git && \ |
|
rm -rf /var/lib/apt/lists/* |
|
|
|
RUN pip install diart torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 |
|
|
|
COPY . . |
|
|
|
|
|
|
|
|
|
RUN if [ -n "$EXTRAS" ]; then \ |
|
echo "Installing with extras: [$EXTRAS]"; \ |
|
pip install --no-cache-dir .[$EXTRAS]; \ |
|
else \ |
|
echo "Installing base package only"; \ |
|
pip install --no-cache-dir .; \ |
|
fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VOLUME ["/root/.cache/huggingface/hub"] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RUN if [ -n "$HF_PRECACHE_DIR" ]; then \ |
|
echo "Copying Hugging Face cache from $HF_PRECACHE_DIR"; \ |
|
mkdir -p /root/.cache/huggingface/hub && \ |
|
cp -r $HF_PRECACHE_DIR/* /root/.cache/huggingface/hub; \ |
|
else \ |
|
echo "No local Hugging Face cache specified, skipping copy"; \ |
|
fi |
|
|
|
|
|
|
|
RUN if [ -n "$HF_TKN_FILE" ]; then \ |
|
echo "Copying Hugging Face token from $HF_TKN_FILE"; \ |
|
mkdir -p /root/.cache/huggingface && \ |
|
cp $HF_TKN_FILE /root/.cache/huggingface/token; \ |
|
else \ |
|
echo "No Hugging Face token file specified, skipping token setup"; \ |
|
fi |
|
|
|
|
|
EXPOSE 8000 |
|
|
|
ENTRYPOINT ["whisperlivekit-server", "--host", "0.0.0.0"] |
|
|
|
|
|
CMD ["--model", "tiny.en", "diart"] |