I have a Debian docker image that is running my web app, this is the head of my Dockerfile:

FROM ruby:3.0.2

# Install dependencies
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs

# Install ffmpeg for video processing
RUN apt-get install -y ffmpeg

The Debian that is installed is version 11.1:

cat /etc/debian_version

The ffmpeg that is installed is 4.3.5:

ffmpeg -version
ffmpeg version 4.3.5-0+deb11u1 Copyright (c) 2000-2022 the FFmpeg developers

I make intensive use of ffmpeg on this docker image, and I would like to have the last version that right now it is 6.1.1.

How can I configure my Dockerfile so that the last version of ffmpeg is installed when the image is built?

1 Answer 1


As it can be seen here, on Debian ffmpeg 6.1 is only available as Sid (unstable) package. There's no bullseye (11) backport either. There are multiple ways to go about it:

  • use Alpine Ruby base instead, e.g. 3.0.2-alpine if you for some reason need that version. Alpine has latest 6.1.1 builds. This is the easiest and most recommended way to proceed I'd say, unless you require Debian for a specific reason.
  • build your own Ruby container based on distro that has access to latest ffmpeg and the Ruby version you need
  • build ffmpeg from source, e.g. instructions here. Not really recommended in Dockerfile and you need to know what you're doing, plus dependencies might be missing or unstable also.
  • Option Alpine is working. Just be sure you choose an image from alpine3.19. Like FROM ruby:3.2.4-alpine3.19 for example
    – fguillen
    May 1 at 22:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .