diff --git a/transcoder/Dockerfile b/transcoder/Dockerfile index 408a252f..95f62aeb 100644 --- a/transcoder/Dockerfile +++ b/transcoder/Dockerfile @@ -1,15 +1,26 @@ -FROM golang:1.21-alpine as build -RUN apk add --no-cache build-base ffmpeg ffmpeg-dev libmediainfo-dev +FROM golang:1.21 as build +RUN apt-get update \ + && apt-get install --no-install-recommends --no-install-suggests -y \ + ffmpeg libavformat-dev libavutil-dev libswscale-dev libmediainfo-dev \ + && apt-get autoremove -y WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY . . RUN go build -o ./transcoder -FROM alpine -RUN apk add --no-cache build-base ffmpeg libmediainfo-dev +# debian is required for nvidia hardware acceleration +FROM debian:12-slim +RUN apt-get update \ + && apt-get install --no-install-recommends --no-install-suggests -y ffmpeg libmediainfo-dev \ + && apt-get autoremove -y + WORKDIR /app COPY --from=build /app/transcoder /app/transcoder +# flags for nvidia acceleration on docker < 25.0 +ENV NVIDIA_VISIBLE_DEVICES="all" +ENV NVIDIA_DRIVER_CAPABILITIES="all" + EXPOSE 7666 CMD ./transcoder diff --git a/transcoder/Dockerfile.dev b/transcoder/Dockerfile.dev index 000fcd8d..843877ce 100644 --- a/transcoder/Dockerfile.dev +++ b/transcoder/Dockerfile.dev @@ -1,7 +1,14 @@ -FROM golang:1.21-alpine -RUN apk add --no-cache build-base ffmpeg ffmpeg-dev libmediainfo-dev +FROM golang:1.21 +RUN apt-get update \ + && apt-get install --no-install-recommends --no-install-suggests -y \ + ffmpeg libavformat-dev libavutil-dev libswscale-dev libmediainfo-dev \ + && apt-get autoremove -y RUN go install github.com/bokwoon95/wgo@latest WORKDIR /app +# flags for nvidia acceleration on docker < 25.0 +ENV NVIDIA_VISIBLE_DEVICES="all" +ENV NVIDIA_DRIVER_CAPABILITIES="all" + EXPOSE 7666 CMD wgo run .