How can start jibri via rootless podman?

Hi

Has anyone successfully started jibri via rootless podman?
I used the following command,But always get this error message: "ERROR: Binding /dev/snd is not found. Please check that you run docker-compose with -f jibri.yml.”
( if I using sudo, it worked fine )

podman 3.3.1
– command –

podman
-d
–name=jibri
–device /dev/snd
–group-add keep-groups
–cap-add=SYS_ADMIN
–cap-add=NET_BIND_SERVICE
–add-host xmpp.meet.jitsi:192.168.28.151
–add-host meet.jitsi:192.168.28.151
-v /home/jibri/config:/config:Z
-v /home/jibri/defaults:/defaults:Z
-v /home/jibri/defaults/config1.json:/defaults/config.json:Z
-v /dev/shm:/dev/shm:Z
-v /home/jibri/.jibri_asoundrc1:/home/jibri/.asoundrc:Z
-e PUBLIC_URL=https://my.domain:8443
-e XMPP_AUTH_DOMAIN=auth.meet.jitsi
-e XMPP_INTERNAL_MUC_DOMAIN=internal-muc.meet.jitsi
-e XMPP_RECORDER_DOMAIN=recorder.meet.jitsi
-e XMPP_SERVER=meet.jitsi
-e XMPP_DOMAIN=meet.jitsi
-e JIBRI_XMPP_USER=jibri
-e JIBRI_XMPP_PASSWORD=71a9836b872db08887780618e4387619
-e JIBRI_BREWERY_MUC=jibribrewery
-e JIBRI_RECORDER_USER=recorder
-e JIBRI_RECORDER_PASSWORD=64904f25035743b78a1394b4ed2d9f30
-e JIBRI_RECORDING_DIR=/config/recordings
-e JIBRI_FINALIZE_RECORDING_SCRIPT_PATH=/defaults/finalize.sh
-e JIBRI_STRIP_DOMAIN_JID=muc
-e JIBRI_LOGS_DIR=/config/logs
-e DISPLAY=:0
-e TZ=UTC
jitsi/jibri:stable-6173

Regards

I haven’t tried, but the latest stable Docker images no longer use /dev/snd/ binding and use PulseAudio instead, which can do audio loopback in userspace. Maybe give that one a try.

Thanks for your help.
It solved!

So does our compose stup now run with podman, unchanged?

  • Almost the same, only add some CHROMIUM_FLAGS environments, especially “–disable-dev-shm-usage” to avoid the occasional failure of video recording.
  • also adding JIBRI_INSTANCE_ID for my multiple Jibri instance on the same host, the host is a VirtualBox VM running RHEL 8.5.

My current Podman cmd:

podman run
-d
–name=jibri1
–add-host xmpp.meet.jitsi:192.168.28.151
–add-host meet.jitsi:192.168.28.151
-v /home/jibri/jibri_1:/config:Z
-e PUBLIC_URL=https://192.168.28.151:8443
-e XMPP_AUTH_DOMAIN=auth.meet.jitsi
-e XMPP_INTERNAL_MUC_DOMAIN=internal-muc.meet.jitsi
-e XMPP_RECORDER_DOMAIN=recorder.meet.jitsi
-e XMPP_SERVER=meet.jitsi
-e XMPP_DOMAIN=meet.jitsi
-e JIBRI_XMPP_USER=jibri
-e JIBRI_XMPP_PASSWORD=71a9836b872db08887780618e4387619
-e JIBRI_BREWERY_MUC=jibribrewery
-e JIBRI_RECORDER_USER=recorder
-e JIBRI_RECORDER_PASSWORD=64904f25035743b78a1394b4ed2d9f30
-e JIBRI_RECORDING_DIR=/config/recordings
-e JIBRI_FINALIZE_RECORDING_SCRIPT_PATH=/config/defaults/finalize.sh
-e JIBRI_STRIP_DOMAIN_JID=muc
-e JIBRI_LOGS_DIR=/config/logs
-e DISPLAY=:0
-e TZ=UTC
-e CHROMIUM_FLAGS=–ignore-certificate-errors,–disable-dev-shm-usage
-e JIBRI_INSTANCE_ID=jibri_1
jitsi/jibri:stable-7439-2

Regards,

I considered adding it by default, but compose has this: docker-jitsi-meet/jibri.yml at d804ba48c9601a6942e1e61af1b0ec6264003388 · jitsi/docker-jitsi-meet · GitHub does podman not support a similar thing?

It seems may use --shm-size flag of podman run, and not using –disable-dev-shm-usage in CHROMIUM_FLAGS, I will try it later.

1 Like