FROM golang:1.25 # read target arch from buildx or default to amd64 if using legacy builder. ARG TARGETARCH ENV TARGETARCH=${TARGETARCH:-amd64} RUN sed -i -e's/ main/ main contrib non-free/g' /etc/apt/sources.list.d/debian.sources RUN apt-get update \ && apt-get install --no-install-recommends --no-install-suggests -y \ # runtime dependencies ffmpeg \ # build dependencies libavformat-dev libavutil-dev libswscale-dev \ # hwaccel dependencies vainfo mesa-va-drivers \ # intel hwaccel dependencies, not available everywhere $([ " $TARGETARCH" = " amd64" ] && echo "intel-media-va-driver-non-free i965-va-driver-shaders") \ # CA certificates for HTTPS to S3 buckets ca-certificates \ && apt-get clean autoclean -y \ && apt-get autoremove -y WORKDIR /app # flags for nvidia acceleration on docker < 25.0 ENV NVIDIA_VISIBLE_DEVICES="all" ENV NVIDIA_DRIVER_CAPABILITIES="all" COPY go.mod go.sum ./ RUN go mod download COPY . . EXPOSE 7666 CMD ["go", "run", "-race", "."]