Some checks failed
CodeQL / Analyze (go) (push) Successful in 6m28s
Docker Image / build-docker (push) Failing after 13m26s
Lint and Testing / lint (push) Successful in 11m17s
Lint and Testing / test (push) Successful in 11m17s
Lint and Testing / golangci (push) Successful in 2m40s
55 lines
1.9 KiB
Docker
55 lines
1.9 KiB
Docker
ARG UBUNTU_VERSION=22.04
|
|
# This needs to generally match the container host's environment.
|
|
ARG CUDA_VERSION=12.0.0
|
|
# Target the CUDA build image
|
|
ARG BASE_CUDA_DEV_CONTAINER=nvidia/cuda:${CUDA_VERSION}-devel-ubuntu${UBUNTU_VERSION}
|
|
# Target the CUDA runtime image
|
|
ARG BASE_CUDA_RUN_CONTAINER=nvidia/cuda:${CUDA_VERSION}-runtime-ubuntu${UBUNTU_VERSION}
|
|
|
|
FROM nvidia/cuda:${CUDA_VERSION}-devel-ubuntu${UBUNTU_VERSION} AS build
|
|
WORKDIR /app
|
|
# Unless otherwise specified, we make a fat build.
|
|
ARG CUDA_DOCKER_ARCH=all
|
|
# Set nvcc architecture
|
|
ENV CUDA_DOCKER_ARCH=${CUDA_DOCKER_ARCH}
|
|
# Enable cuBLAS
|
|
ENV WHISPER_CUBLAS=1
|
|
|
|
#apt-get
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends build-essential git gcc g++ wget \
|
|
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*
|
|
|
|
# install golang
|
|
RUN wget --progress=dot:giga https://go.dev/dl/go1.22.10.linux-amd64.tar.gz
|
|
RUN rm -rf /usr/local/go && tar -C /usr/local -xzf go1.22.10.linux-amd64.tar.gz
|
|
ENV PATH ${PATH}:/usr/local/go/bin
|
|
|
|
# Ref: https://stackoverflow.com/a/53464012
|
|
ENV CUDA_MAIN_VERSION=12.0
|
|
ENV LD_LIBRARY_PATH /usr/local/cuda-${CUDA_MAIN_VERSION}/compat:$LD_LIBRARY_PATH
|
|
|
|
COPY ./ .
|
|
RUN make dependency && env && make build && \
|
|
mv bin/go-whisper-api /bin/ && \
|
|
rm -rf bin
|
|
|
|
FROM nvidia/cuda:${CUDA_VERSION}-runtime-ubuntu${UBUNTU_VERSION} AS runtime
|
|
WORKDIR /app
|
|
|
|
LABEL maintainer="Bo-Yi Wu <appleboy.tw@gmail.com>" \
|
|
org.label-schema.name="Speech-to-Text" \
|
|
org.label-schema.vendor="Bo-Yi Wu" \
|
|
org.label-schema.schema-version="1.0"
|
|
|
|
LABEL org.opencontainers.image.source=https://github.com/appleboy/go-whisper-api
|
|
LABEL org.opencontainers.image.description="Speech-to-Text."
|
|
LABEL org.opencontainers.image.licenses=MIT
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends curl \
|
|
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*
|
|
|
|
COPY --from=build /bin/go-whisper-api /bin/go-whisper-api
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["/bin/go-whisper-api"] |