Finalize.sh with docker?

Hello!
I’ve been struggling to get the finalize.sh script running after recording with jibri. It records just fine, with output to ~/.jitsi-meet-cfg/jibri/recordings/ but when I place my finalize.sh to ~/.jitsi-meet-cfg/jibri/ it does not get executed. The logs say:


jibri_1    | Jibri SEVERE: [59] JibriServiceFinalizeCommandRunner.doFinalize#63: Failed to run finalize script
jibri_1    | java.io.IOException: Cannot run program "/config/finalize.sh": error=20, Not a directory

My configuration in the jibri.yml:

        volumes:
            - ${CONFIG}/jibri:/config:Z
            - /dev/shm:/dev/shm

My .env:

# Directory for recordings inside Jibri container
JIBRI_RECORDING_DIR=/config/recordings

# The finalizing script. Will run after recording is complete
JIBRI_FINALIZE_RECORDING_SCRIPT_PATH=/config/finalize.sh

What am I missing?

Thanks in advance!

checkout this for reference.

I’ve changed the volume to

./config:/config:Z

to match your reference and get

jibri_1    | SEVERE: [54] JibriServiceFinalizeCommandRunner.doFinalize#63: Failed to run finalize script
jibri_1    | java.io.IOException: Cannot run program "/config/finalize.sh": error=2, No such file or directory

With your setup, where exactly do I have to place my finalize.sh?

Put it inside ./config

I put the finalize.sh into ~/.config/ and still get an error:

jibri_1    | SEVERE: [45] JibriServiceFinalizeCommandRunner.doFinalize#63: Failed to run finalize script
jibri_1    | java.io.IOException: Cannot run program "/config/finalize.sh": error=2, No such file or directory

ssh into the jibri container and check in the config directory whether finalize.sh is present or not

Make sure it has the executable bit set.

Thanks, this lead me to the solution. Somehow it wasn’t there so I changed the location form where the finalize.sh was included to the volume. I chaged from the .config folder to a /home/user/ folder and now it is included in the jibri container.

Thanks!

1 Like