Dockerfile 986 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # build image
  2. FROM ubuntu:22.04 AS builder
  3. WORKDIR /app/
  4. RUN apt-get update && \
  5. apt-get install -y build-essential wget cmake git \
  6. && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*
  7. # Install Whisper.cpp
  8. ADD whisper.cpp/ /app/
  9. RUN cmake -B build && cmake --build build --config Release
  10. # main image
  11. FROM python:3.13-slim-bullseye
  12. WORKDIR /app/
  13. # Install dependencies
  14. RUN apt-get update && apt-get install -y \
  15. ffmpeg libolm-dev gcc make wget\
  16. && apt-get clean \
  17. && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*
  18. ADD requirements.txt .
  19. RUN pip install -r requirements.txt && \
  20. apt-get remove -y gcc make && \
  21. apt-get autoremove -y
  22. COPY --from=builder /app/build/bin/whisper-cli /app/
  23. VOLUME /data/
  24. ADD ./*.py /app/
  25. ADD ./whisper.cpp/models/download-ggml-model.sh /app/
  26. ARG PRELOAD_MODEL
  27. ENV PRELOAD_MODEL ${PRELOAD_MODEL}
  28. RUN if [ -n "$PRELOAD_MODEL" ]; then /app/download-ggml-model.sh "$PRELOAD_MODEL" "/app"; fi
  29. CMD ["python3", "-u", "main.py"]