@@ -74,6 +74,60 @@ jobs:
|
|||||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||||
|
|
||||||
|
build-and-push-docker-cpu:
|
||||||
|
needs: [run-tests, check-code-format]
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Log in to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GHCR_TOKEN }}
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v1
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v2
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: docker/Dockerfile.cpu
|
||||||
|
push: true
|
||||||
|
tags: ghcr.io/collabora/whisperlive-cpu:latest
|
||||||
|
|
||||||
|
build-and-push-docker-gpu:
|
||||||
|
needs: [run-tests, check-code-format, build-and-push-docker-cpu]
|
||||||
|
timeout-minutes: 20
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Log in to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GHCR_TOKEN }}
|
||||||
|
|
||||||
|
- name: Docker Prune
|
||||||
|
run: docker system prune -af
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v1
|
||||||
|
|
||||||
|
- name: Build and push Docker GPU image
|
||||||
|
uses: docker/build-push-action@v2
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: docker/Dockerfile.gpu
|
||||||
|
push: true
|
||||||
|
tags: ghcr.io/collabora/whisperlive-gpu:latest
|
||||||
|
|
||||||
publish-to-pypi:
|
publish-to-pypi:
|
||||||
needs: [run-tests, check-code-format]
|
needs: [run-tests, check-code-format]
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
|||||||
@@ -93,16 +93,14 @@ client(hls_url="http://as-hls-ww-live.akamaized.net/pool_904/live/ww/bbc_1xtra/b
|
|||||||
- GPU
|
- GPU
|
||||||
- Faster-Whisper
|
- Faster-Whisper
|
||||||
```bash
|
```bash
|
||||||
docker build . -t whisper-live -f docker/Dockerfile.gpu
|
docker run -it --gpus all -p 9090:9090 ghcr.io/collabora/whisperlive-gpu:latest
|
||||||
docker run -it --gpus all -p 9090:9090 whisper-live:latest
|
|
||||||
```
|
```
|
||||||
|
|
||||||
- TensorRT. Follow [TensorRT_whisper readme](https://github.com/collabora/WhisperLive/blob/main/TensorRT_whisper.md) in order to setup docker and use TensorRT backend. We provide a pre-built docker image which has TensorRT-LLM built and ready to use.
|
- TensorRT. Follow [TensorRT_whisper readme](https://github.com/collabora/WhisperLive/blob/main/TensorRT_whisper.md) in order to setup docker and use TensorRT backend. We provide a pre-built docker image which has TensorRT-LLM built and ready to use.
|
||||||
|
|
||||||
- CPU
|
- CPU
|
||||||
```bash
|
```bash
|
||||||
docker build . -t whisper-live -f docker/Dockerfile.cpu
|
docker run -it -p 9090:9090 ghcr.io/collabora/whisperlive-cpu:latest
|
||||||
docker run -it -p 9090:9090 whisper-live:latest
|
|
||||||
```
|
```
|
||||||
**Note**: By default we use "small" model size. To build docker image for a different model size, change the size in server.py and then build the docker image.
|
**Note**: By default we use "small" model size. To build docker image for a different model size, change the size in server.py and then build the docker image.
|
||||||
|
|
||||||
|
|||||||
+6
-27
@@ -1,45 +1,24 @@
|
|||||||
FROM ubuntu:focal
|
FROM python:3.8-slim-buster
|
||||||
|
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
# Remove any third-party apt sources to avoid issues with expiring keys.
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
RUN rm -f /etc/apt/sources.list.d/*.list
|
|
||||||
|
|
||||||
# Install some basic utilities.
|
|
||||||
RUN apt-get update && apt-get install -y \
|
|
||||||
curl \
|
curl \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
sudo \
|
sudo \
|
||||||
git \
|
git \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
libx11-6 \
|
libx11-6 \
|
||||||
|
&& apt-get clean \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
RUN apt update
|
|
||||||
|
|
||||||
# install python
|
|
||||||
RUN apt install software-properties-common -y && \
|
|
||||||
add-apt-repository ppa:deadsnakes/ppa && \
|
|
||||||
apt update
|
|
||||||
|
|
||||||
RUN apt install python3-dev -y && \
|
|
||||||
apt install python-is-python3
|
|
||||||
|
|
||||||
|
|
||||||
# install pip
|
|
||||||
RUN apt install python3-pip -y
|
|
||||||
|
|
||||||
# Create a working directory.
|
|
||||||
RUN mkdir /app
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY scripts/setup.sh /app
|
COPY scripts/setup.sh requirements/server.txt /app/
|
||||||
COPY requirements/ /app
|
|
||||||
|
|
||||||
RUN bash setup.sh
|
RUN apt update && bash setup.sh && pip install -r server.txt
|
||||||
RUN pip install -r server.txt
|
|
||||||
|
|
||||||
COPY whisper_live /app/whisper_live
|
COPY whisper_live /app/whisper_live
|
||||||
|
|
||||||
COPY run_server.py /app
|
COPY run_server.py /app
|
||||||
|
|
||||||
CMD ["python", "run_server.py"]
|
CMD ["python", "run_server.py"]
|
||||||
|
|||||||
+9
-23
@@ -1,44 +1,30 @@
|
|||||||
FROM nvidia/cuda:11.2.2-cudnn8-runtime-ubuntu20.04
|
FROM nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu22.04
|
||||||
|
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
# Remove any third-party apt sources to avoid issues with expiring keys.
|
# Remove any third-party apt sources to avoid issues with expiring keys.
|
||||||
RUN rm -f /etc/apt/sources.list.d/*.list
|
RUN rm -f /etc/apt/sources.list.d/*.list
|
||||||
|
|
||||||
# Install some basic utilities.
|
# Install some basic utilities.
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
curl \
|
curl \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
sudo \
|
sudo \
|
||||||
git \
|
git \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
libx11-6 \
|
libx11-6 \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
python3-dev \
|
||||||
|
python3-pip \
|
||||||
RUN apt update
|
&& python3 -m pip install --upgrade pip \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
# install python
|
|
||||||
RUN apt install software-properties-common -y && \
|
|
||||||
add-apt-repository ppa:deadsnakes/ppa && \
|
|
||||||
apt update
|
|
||||||
|
|
||||||
RUN apt install python3-dev -y && \
|
|
||||||
apt install python-is-python3
|
|
||||||
|
|
||||||
|
|
||||||
# install pip
|
|
||||||
RUN apt install python3-pip -y
|
|
||||||
|
|
||||||
# Create a working directory.
|
# Create a working directory.
|
||||||
RUN mkdir /app
|
RUN mkdir /app
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY scripts/setup.sh /app
|
COPY scripts/setup.sh requirements/server.txt /app
|
||||||
COPY requirements/ /app
|
|
||||||
|
|
||||||
RUN apt update --fix-missing
|
RUN apt update && bash setup.sh && rm setup.sh
|
||||||
RUN bash setup.sh
|
RUN pip install -r server.txt && rm server.txt
|
||||||
RUN pip install -r server.txt
|
|
||||||
|
|
||||||
COPY whisper_live /app/whisper_live
|
COPY whisper_live /app/whisper_live
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user