Martí Umbert
commited on
Commit
·
286fadf
1
Parent(s):
d9f0eec
Dockerfile: test with pytorch image
Browse files- Dockerfile +23 -52
Dockerfile
CHANGED
|
@@ -1,71 +1,43 @@
|
|
| 1 |
-
#
|
| 2 |
-
|
| 3 |
-
# TESTS UNTIL RIGHT PYTHON VERSION
|
| 4 |
-
# FROM nvidia/cuda:11.6.1-devel-ubuntu20.04
|
| 5 |
-
# FROM nvidia/cuda:12.0.0-cudnn8-devel-ubuntu18.04
|
| 6 |
-
# FROM nvidia/cuda:12.4.1-cudnn-runtime-ubuntu22.04
|
| 7 |
-
# FROM nvidia/cuda:12.1.0-cudnn8-devel-ubuntu22.04
|
| 8 |
-
# FROM nvidia/cuda:12.1.0-cudnn8-runtime-ubuntu22.04
|
| 9 |
-
FROM nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04
|
| 10 |
|
| 11 |
-
ENV DEBIAN_FRONTEND=noninteractive
|
| 12 |
ENV PYTHONUNBUFFERED=1
|
|
|
|
| 13 |
|
| 14 |
WORKDIR /app
|
| 15 |
|
| 16 |
-
|
| 17 |
-
ARG HF_PRECACHE_DIR
|
| 18 |
-
ARG HF_TKN_FILE
|
| 19 |
-
|
| 20 |
ENV HF_HOME="/app/tmp/cache/huggingface"
|
| 21 |
-
ENV
|
| 22 |
-
ENV XDG_CACHE_HOME="/app/tmp/cache/huggingface"
|
| 23 |
ENV LIBROSA_CACHE_DIR="/app/tmp/librosa_cache"
|
| 24 |
ENV NUMBA_CACHE_DIR="/app/tmp/numba_cache"
|
| 25 |
ENV MPLCONFIGDIR="/app/tmp/matplotlib"
|
| 26 |
ENV HF_HUB_ETAG_TIMEOUT="600"
|
| 27 |
ENV HF_HUB_DOWNLOAD_TIMEOUT="600"
|
| 28 |
-
ENV LD_LIBRARY_PATH="/usr/local/cuda:/usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH:-}"
|
| 29 |
-
|
| 30 |
-
# Install system dependencies
|
| 31 |
-
#RUN apt-get update && \
|
| 32 |
-
# apt-get install -y ffmpeg git && \
|
| 33 |
-
# apt-get clean && \
|
| 34 |
-
# rm -rf /var/lib/apt/lists/*
|
| 35 |
|
| 36 |
-
#
|
| 37 |
RUN apt-get update && \
|
| 38 |
apt-get install -y --no-install-recommends \
|
| 39 |
-
python3 \
|
| 40 |
-
python3-pip \
|
| 41 |
ffmpeg \
|
| 42 |
git \
|
| 43 |
-
libportaudio2
|
|
|
|
|
|
|
|
|
|
| 44 |
rm -rf /var/lib/apt/lists/*
|
| 45 |
|
| 46 |
-
#
|
| 47 |
-
#
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
|
|
|
| 51 |
|
| 52 |
COPY . .
|
| 53 |
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
mkdir -p $LIBROSA_CACHE_DIR && \
|
| 58 |
-
mkdir -p $NUMBA_CACHE_DIR && \
|
| 59 |
-
mkdir -p $MPLCONFIGDIR && \
|
| 60 |
-
chmod 777 $HF_HOME && \
|
| 61 |
-
chmod 777 $HF_HUB_CACHE && \
|
| 62 |
-
chmod 777 $XDG_CACHE_HOME && \
|
| 63 |
-
chmod 777 $LIBROSA_CACHE_DIR && \
|
| 64 |
-
chmod 777 $NUMBA_CACHE_DIR && \
|
| 65 |
-
chmod 777 $MPLCONFIGDIR && \
|
| 66 |
-
chmod -R 777 /app
|
| 67 |
-
|
| 68 |
-
RUN mkdir -p /.cache && chmod -R 777 /.cache
|
| 69 |
|
| 70 |
# Install WhisperLiveKit directly, allowing for optional dependencies
|
| 71 |
# Note: For gates modedls, need to add your HF toke. See README.md
|
|
@@ -111,11 +83,10 @@ RUN if [ -n "$HF_TKN_FILE" ]; then \
|
|
| 111 |
else \
|
| 112 |
echo "No Hugging Face token file specified, skipping token setup"; \
|
| 113 |
fi
|
| 114 |
-
|
| 115 |
-
# Expose port
|
| 116 |
EXPOSE 8000
|
| 117 |
|
|
|
|
| 118 |
ENTRYPOINT ["whisperlivekit-server", "--host", "0.0.0.0"]
|
| 119 |
-
|
| 120 |
-
# Default args
|
| 121 |
-
CMD ["--model", "tiny", "--diarization"]
|
|
|
|
| 1 |
+
# ✅ PyTorch 2.2.2 (cu121), Python 3.10, cuDNN 9.5.1+
|
| 2 |
+
FROM pytorch/pytorch:2.2.2-cuda12.1-cudnn8-runtime
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
|
|
|
|
| 4 |
ENV PYTHONUNBUFFERED=1
|
| 5 |
+
ENV DEBIAN_FRONTEND=noninteractive
|
| 6 |
|
| 7 |
WORKDIR /app
|
| 8 |
|
| 9 |
+
# Optional: add caching envs (like HF cache) if needed
|
|
|
|
|
|
|
|
|
|
| 10 |
ENV HF_HOME="/app/tmp/cache/huggingface"
|
| 11 |
+
ENV XDG_CACHE_HOME="/app/tmp/cache"
|
|
|
|
| 12 |
ENV LIBROSA_CACHE_DIR="/app/tmp/librosa_cache"
|
| 13 |
ENV NUMBA_CACHE_DIR="/app/tmp/numba_cache"
|
| 14 |
ENV MPLCONFIGDIR="/app/tmp/matplotlib"
|
| 15 |
ENV HF_HUB_ETAG_TIMEOUT="600"
|
| 16 |
ENV HF_HUB_DOWNLOAD_TIMEOUT="600"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
+
# 🧰 System dependencies
|
| 19 |
RUN apt-get update && \
|
| 20 |
apt-get install -y --no-install-recommends \
|
|
|
|
|
|
|
| 21 |
ffmpeg \
|
| 22 |
git \
|
| 23 |
+
libportaudio2 \
|
| 24 |
+
python3-dev \
|
| 25 |
+
portaudio19-dev && \
|
| 26 |
+
apt-get clean && \
|
| 27 |
rm -rf /var/lib/apt/lists/*
|
| 28 |
|
| 29 |
+
# 📦 Python packages
|
| 30 |
+
# Prefer installing torch packages already bundled, to avoid conflicts
|
| 31 |
+
RUN pip install --upgrade pip && \
|
| 32 |
+
pip install \
|
| 33 |
+
diart \
|
| 34 |
+
sounddevice
|
| 35 |
|
| 36 |
COPY . .
|
| 37 |
|
| 38 |
+
# 🧼 Set permissions for Hugging Face cache
|
| 39 |
+
RUN mkdir -p $HF_HOME $XDG_CACHE_HOME $LIBROSA_CACHE_DIR $NUMBA_CACHE_DIR /.cache && \
|
| 40 |
+
chmod -R 777 /app /root/.cache /.cache
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
|
| 42 |
# Install WhisperLiveKit directly, allowing for optional dependencies
|
| 43 |
# Note: For gates modedls, need to add your HF toke. See README.md
|
|
|
|
| 83 |
else \
|
| 84 |
echo "No Hugging Face token file specified, skipping token setup"; \
|
| 85 |
fi
|
| 86 |
+
|
| 87 |
+
# ✅ Expose server port
|
| 88 |
EXPOSE 8000
|
| 89 |
|
| 90 |
+
# 🚀 Start the app
|
| 91 |
ENTRYPOINT ["whisperlivekit-server", "--host", "0.0.0.0"]
|
| 92 |
+
CMD ["--model", "tiny", "--diarization"]
|
|
|
|
|
|