Jibri, colocated with Jitsi, fails to start

I’m having a little trouble getting the “jibri” service to start up. I am running Jibri on the same host where I have Jitsi running. Jitsi itself is operating fine except that I get an error in the UI when I attempt to record.

The two Jibri sub-services, jibri-xorg and jibri-icewm seem to be running fine, as is Xorg, but the jibri service itself fails silently and I need to invoke status to see the error message:

ExecStart=/opt/jitsi/jibri/launch.sh (code=exited, status=1/FAILURE)

launch.sh simply runs jibri.jar with the logging parameters and config. I’m having trouble discovering what the actual error is since the Jibri log files don’t seem to give me any useful information. I have two errors in Xorg.log:

  1. systemd-logind: failed to get session: PID 27651 does not belong to any known session and
  2. AIGLX: reverting to software rendering

The PID in the first error refers to the Xorg process itself which seems to be running fine, and I assume the 2nd error is indicating a fallback since my server is a Virtual Machine.

I’ve registered the Jibri users with Prosody and configured their details in Jibri’s config.json. In my prosody domain’s conf.d, I have a single stanza for the internal.auth component, instead of having two (one for Jitsi and one for Jibri), as per the snippet below:

    -- internal muc component
    Component "internal.auth.jitsi.<myDomain>" "muc"
        storage = "internal"
        modules_enabled = {
          "ping";
        }
        admins = { "focus@auth.jitsi.<myDomain>", "jvb@auth.jitsi.<myDomain>" }
        muc_room_locking = false
        muc_room_default_public_jids = true
        -- Jibri
        muc_room_cache_Size = 1000
    
    -- jibri
    -- Component "internal.auth.jitsi.<myDomain>" "muc"
    --   modules_enabled = {
    --     "ping";
    --   }
    --   storage = "null"
    --   muc_room_cache_Size = 1000

Can Jibri run on the same host as Jitsi? I only have one conference at a time on my server and don’t want to rent a separate server just to record my meetings.

Got it working.
Basically the problem was that I was running Jibri with the wrong Java version. After installing Java 8 and forcing launch.sh to use it, it worked.

A useful guide that helped me debug the problem is located at:
https://nerdonthestreet.com/wiki?find=Set+Up+Jibri+for+Jitsi+Recording%3Aslash%3AStreaming