Merge pull request #149 from makaveli10/docker-ghcr-ci

Docker ghcr ci
This commit is contained in:
makaveli
2024-02-22 10:14:51 +05:30
committed by GitHub
4 changed files with 71 additions and 54 deletions
+54
View File
@@ -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
+2 -4
View File
@@ -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
View File
@@ -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
View File
@@ -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