Jibri and subdomain

I setup jitsi, jibri with XMPP_DOMAIN example.com domain, and I have trouble with stream on youtube:

jibri try visit link: https://example.com/room_name

But my web configuration some difficult, web use link: https://example.com/meet/room_name

I found this comment in jibri:
// When jibri gets a request to start a service for a room, the room
// jid will look like:
// roomName@optional.prefixes.subdomain.xmpp_domain
// We’ll build the url for the call by transforming that into:
// https://xmpp_domain/subdomain/roomName
// So if there are any prefixes in the jid (like jitsi meet, which
// has its participants join a muc at conference.xmpp_domain) then
// list that prefix here so it can be stripped out to generate
// the call url correctly

How I can pass subdomain to JIBRI ?

first: since you are using apache or nginx and the webserver is connecting to the prosody xmpp using bosh you will need to put in /etc/prosody/conf.d/yourdomain.com.cfg.lua in the top line:
consider_bosh_secure = true;

Sorry, but how can help me this option ?
I don’t know, how set prefix subdomain, that jibri visit example.com/meet/ not example.com

The conversion from the Jid to the URL is perfromed in jibri XmppUtils.kt

the Jid is made up of the roomname@muc

So in order to use a subdomain
you use change the muc row in:

muc: ‘meet.example.com

then you make sure that you do not strip out meet. in the jibri conf
the XmppUtils getCallUrlInfoFromJid will turn that into

You might wanna try this Jibri installer.

Maybe give some feedback.


just a quick one, do you run this as root OR sudo?

Any, as long as both have admin rights.

thanks, will give it a spin

i cloned it, but will just the quick_jibri_installer.sh do?

It will call the rest if needed.
But yeah run it from within the cloned folder

so its basically an ALL-IN-ONE server… Jitsi & jibri server

Yeah, thus the name :smile:

another dumb question

i presume I still have to port forward for acme, & other ports on my firewall

Yeah, I think I should add to the Readme to avoid issues.

not a biggie but will be useful are: (not exhaustive, but i saw during my 1st run)

  1. you may want to use apt-get instead of just apt, as you’re using a script & the script throws a warning…

  2. in the part where it asks, you may want to default to en.

  3. In letsencrypt, please provide an option for Staging, as one can try different options and not run out of rate limits

  4. I misunderstood the nextcloud part as something similar to dropbox, that you can store recordings in an existing nextcloud setup

  5. during dropbox question, you may want to show this URL https://www.dropbox.com/developers/apps so that they can create an app & get their key

If you will we can discuss everything on other subject to avoid hijack this thread.


You mean, I need change string:
Component “muc.example.com” “muc”
Component “muc.meet.example.com” “muc”
I try, but when I join to room, I got exception jicofo :frowning:

I solved this.
Need change in prosody configration:
Component “muc.example.com” “muc”
Component “muc.meet.example.com” “muc”

and in web configs set new muc string

1 Like

Hi Evg!

I have the same problem. Can you help me in detail?
I have a topic about this. Can you check it, please?

Additional information:
I have in /etc/prosody/prosody.cfg.lua:

    Component "internal.auth.mysite.com" "muc"
        modules_enabled = {
        storage = "null"
        muc_room_cache_size = 1000

    VirtualHost "recorder.mysite.com"
      modules_enabled = {
      authentication = "internal_plain"

and I have in /etc/prosody/conf.d/mysite.com.cfg.lua:

Component "conference.mysite.com" "muc"
    storage = "none"
    modules_enabled = {
        -- "token_verification";
    admins = { "focus@auth.mysite.com" }
    muc_room_locking = false
    muc_room_default_public_jids = true

-- internal muc component
Component "internal.auth.mysite.com" "muc"
    storage = "none"
    modules_enabled = {
    admins = { "focus@auth.mysite.com", "jvb@auth.mysite.com" }
    muc_room_locking = false
    muc_room_default_public_jids = true

What should I change in these files and in config.json on Jibri side to work?
Thank you in advance!

First change prosody /etc/prosody/conf.d/mysite.com.cfg.lua configuration:

change this line to

Component "conference.meet.mysite.com" "muc"

after that you need to change the muc row in:
muc: ‘meet.mysite.com’

the muc is the name of the multi-user-chat room used on the prosody server.

the reason this work is because the subdomain is extracted from the muc setting as mentioned earlier:

xranby very thank you! It’s working!
There was a lot of testing about it without I would have asked this problem earlier in this forum.
Once again, thank you :).

1 Like