No Jibri recording (Docker + Traefik + Alpine linux)

Hi,

I’ve been trying to install Jitsi Docker with Jibri on my server behind Traefik but Jibri doesn’t seem to work.

My configuration is:
Host: Alpine Linux 3.11 (with recompiled kernel to enable snd_aloop)
Reverse proxy: Traefik 1.7.16
Jitsi: ufficial docker version (https://github.com/jitsi/docker-jitsi-meet)

My steps:

  • I’ve compiled a custom kernel to enable snd_aloop

  • I’ve enabled it
    snd_aloop 28672 0
    snd_pcm 110592 7 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_soc_core,snd_aloop,snd_soc_skl,snd_hda_core
    snd 94208 11 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_aloop,snd_pcm

  • I’ve added traefik to the docker-compose

  • I’ve created the .env file

  • I’ve disabled the HTTPS inside the .env file

  • I’ve created the config directories and I’ve changed the path inside the config file

  • I’ve generated the passwords

  • I’ve enabled the recorder
    I’ve launched the docker-compose up

Jitsi works perfectly, I can create a room and I can have video conference, the problem is jibri, I can see the buttons “start recording” and start live stream.
But if I push start recording immediately I can hear the voice saying “Recording has stopped” and I can see the message Recording failed to start.
I’ve read all the topics that I’ve found regarding this argument, but I don’t find anything similar to my problem.

At the beginning I tought that jibri was somehow unreachable, but later I’ve discovered that if I go to the jibri config directory, inside the recording folder, I can see a folder for each attempt to record and inside there is a metadata.json, so I suppose that Jibri receive the command to record.

This is the content:
{“meeting_url”:“https://meet.jitsi/test",“participants”:[],"share”:true}

Reading this I’ve started to think that Jibri is trying to connect to the server in a wrong way, I mean it is trying to connect to https but having Traefik I’had to disable the https (DISABLE_HTTPS=1)
curl: (7) Failed to connect to meet.jitsi port 443: Connection refused
I suppose that it needs the https to enable the WebRTC, but is there a way to use my external domain for the registration?

Thanks!
H2L

I would like to add that if I enable SSL I get the error:

curl https://meet.jitsi/aaaa
curl: (51) SSL: no alternative certificate subject name matches target host name 'meet.jitsi'

(from jibri)

I’ve discovered that it is a known issue. I’ve found a simple workaround waiting for the fix to be merged.

  • edit the .env file and rename all the meet.jitsi occurrences to your external domain
  • launch docker-compose
  • enter inside jibri instance (docker exec -i -t STACK_jibri_1 /bin/bash) and
  • add DOCKER_HOST_IP jitsi.domain.com to your /etc/hosts
    (you need to replace the DOCKER_HOST_IP and the jitsi domain of course)
  • to test it you can launch (from jibri) curl https://jitsi.domain.com/xxxxx , you should see the html of the page

(if you regenerate the container you lose the /etc/hots fix and you need to reinsert the line)

I hope that it could be helpful to someone else.

@herod2k you can extra_hosts in jibri.yaml file to make it permanent.