• Edited

insha" 99.9% of users won’t need these by default, so there’s no reason to add them automatically. However, it’s easy to preinstall anything you want.


First, decide whether you want to add them to the Apache, Nginx image, or both. In this example, we’ll modify the Nginx image, but the same steps apply to any image.

  1. Create a new user with plan that has the openpanel/nginx image.
  2. Switch to the user: su $username
  3. Stop the user’s container: cd /etc/openpanel/docker/compose/$username && docker compose down $username
  4. Download the source code for the Nginx image: Download Here
  5. Unzip and navigate into the directory.
  6. Open the Dockerfile and add the following two lines to install FFmpeg & MediaInfo: View Diff Here
  7. Build the updated image: docker build . -t openpanel/nginx
  8. Restart the container: cd /etc/openpanel/docker/compose/$username && docker compose up -d $username

Now, the user has FFmpeg & MediaInfo preinstalled.


To make this easier, you can build the image once and publish it for free on GitHub or Docker Hub:
Docker Image Push Guide

Then, create a new plan using your custom image name, and it will be automatically downloaded for all new users on that plan.

    stefan forgot to mention that users now have root privilegies, so they/you can install it from their account using webterminal: apt-get install -y ffmpeg mediainfo

    Great, i installed as user in web terminal with root privilegies. Also i need FFI enabled in php.ini. I changed line ffi.enable=true but it still need to be changed in php cli. where can i do that ?

    /etc/php/VERSION/cli/php.ini - easier to just copy the one you edited already:

    replace 8.2 with your version in both commands

    cp /etc/php/8.2/fpm/php.ini /etc/php/8.2/cli/php.ini

    then restart php service:

    service php8.2-fpm restart

    Thank you, i found that after posting, just wasnt sure.