From 71fe10efafc6256d67f200cda3456f1084183284 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Fri, 23 Feb 2024 17:58:45 +0100 Subject: [PATCH] Update docker debian version to use ffmpeg 6.1 --- transcoder/Dockerfile | 29 ++++++++++++++++++++++++++--- transcoder/Dockerfile.dev | 27 +++++++++++++++++++++++++-- 2 files changed, 51 insertions(+), 5 deletions(-) diff --git a/transcoder/Dockerfile b/transcoder/Dockerfile index a4882850..5771885c 100644 --- a/transcoder/Dockerfile +++ b/transcoder/Dockerfile @@ -1,4 +1,23 @@ -FROM golang:1.21 as build +# FROM golang:1.21 as build +FROM debian:trixie-slim as build +# those were copied from https://github.com/docker-library/golang/blob/master/Dockerfile-linux.template +ENV GOTOOLCHAIN=local +ENV GOPATH /go +ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + ca-certificates openssl \ + golang\ + g++ \ + gcc \ + libc6-dev \ + make \ + pkg-config + +# https://github.com/golang/go/issues/54400 +ENV SSL_CERT_DIR=/etc/ssl/certs +RUN update-ca-certificates RUN apt-get update \ && apt-get install --no-install-recommends --no-install-suggests -y \ ffmpeg libavformat-dev libavutil-dev libswscale-dev libmediainfo-dev \ @@ -11,10 +30,14 @@ COPY . . RUN go build -o ./transcoder # debian is required for nvidia hardware acceleration -FROM debian:12-slim +# we use trixie (debian's testing because ffmpeg on latest is v5 and we need v6) +# https://packages.debian.org/bookworm/ffmpeg for version tracking +FROM debian:trixie-slim RUN apt-get update \ && apt-get install --no-install-recommends --no-install-suggests -y ffmpeg libmediainfo-dev \ - && apt-get autoremove -y + && apt-get clean autoclean -y \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY --from=build /app/transcoder /app/transcoder diff --git a/transcoder/Dockerfile.dev b/transcoder/Dockerfile.dev index 47acc5eb..5dd19813 100644 --- a/transcoder/Dockerfile.dev +++ b/transcoder/Dockerfile.dev @@ -1,10 +1,33 @@ -FROM golang:1.21 +# we use trixie (debian's testing because ffmpeg on latest is v5 and we need v6) +# https://packages.debian.org/bookworm/ffmpeg for version tracking +# FROM golang:1.21 +# trixie's golang is also 1.21 +FROM debian:trixie-slim +# those were copied from https://github.com/docker-library/golang/blob/master/Dockerfile-linux.template +ENV GOTOOLCHAIN=local +ENV GOPATH /go +ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + ca-certificates openssl \ + golang\ + g++ \ + gcc \ + libc6-dev \ + make \ + pkg-config + +# https://github.com/golang/go/issues/54400 +ENV SSL_CERT_DIR=/etc/ssl/certs +RUN update-ca-certificates + +RUN go install github.com/bokwoon95/wgo@latest 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 clean autoclean -y \ && apt-get autoremove -y -RUN go install github.com/bokwoon95/wgo@latest WORKDIR /app # flags for nvidia acceleration on docker < 25.0