Ffmpeg issue when running Gatsby Build

I need advice to debug deploy https://app.netlify.com/sites/mystifying-montalcini-c307dd/deploys/5e4aedaf54fc5826bd308962

This is the error I get when deploying! It works just fine on my local machine though.

error UNHANDLED REJECTION Cannot find ffprobe
Error: Cannot find ffprobe

We don’t have that program installed in the build image. Not a very common use case for our CI. You might try wedging an appropriate binary in (you’ll want something for 64bit ubuntu 16.06, which I think you found in the meantime, judging from your current build command :))

1 Like

Thanks! can i build a docker image and run it on netlify?

It isn’t currently possible to build your own Docker image and deploy it on Netlify:

But the person is thread is also talking about tweaking the Docker image, so sharing here in case it’s helpful:

Let us know if we can answer any other questions!

@jen Thanks so much! this is really good to know. Do you know if there are any plans to include full support for docker?

@fool
The reason why I ran into this issue is that I was using the gatsby-video plugin that requires gatsby-plugin-ffmpeg and gatsby-transformer-ffmpeg. For all of those to run in tandem you need ffmpeg installed on your system.

It would be really helpful if you could include ffmpeg in your build image. That way I can optimize video sizes during build time when I am trying to host my own videos.

We could possibly file a feature request for adding ffmpeg to the build image, but it’s not a common request so I wouldn’t be hopeful about it being implemented in a time frame that would be useful for you.

Maybe you’ve already tried this, but just in case: do you think it would work to add this dependency?

If not, here’s one more thing you could try:

If our build environment is missing something other than a ruby, node, or python dependency, you might need to add it yourself. Our build environment runs Ubuntu Linux v 16.04 LTS using x86_64 architecture, so you’ll want to bring a binary that can run there. Since you don’t have permissions to apt-get install anything, you’re limited to pre-compiled binaries that fit that architecture. A frequent use pattern is to get a copy of the binary we need to build your site, and add it to your repository so you can run it directly during your build. By default your build starts in the root of your repository, so it could be as easy as using ./my-binary as part of your build command.

Let us know how it goes!

1 Like

Thanks! Including the binary worked for me.

That works for me, but if it’s not a common issue then I wouldn’t want to bother anyone with working on integrating it.

Cheers :blush: