Host a Jitsi Meet Server

  • 6,760 views. Added .

Have you been using Zoom to chat with family and friends during the COVID-19 pandemic? Jitsi Meet is an open-source alternative that you can host yourself!

The commands and configuration options used in this video can be found in text form here:

Comments (log in to post)

I've used theses instruction and got just the result, that you described.

But times have changed:

The jicofo authorisation is moved from (you cannot find this file) to jicofo.conf.
You have to enter

jicofo {
 authentication: {
    enabled: true
    type: JWT
    login-url: "your jitsi.url"

Additonally one must use nginx and one cannot use apache2.

I just try to configure the of two webservers in parallel.

Hey, thanks for posting the tips! I'd definitely like to make an updated video for this eventually.
I've changed the config described here:

Now it's working as before.

What's still annoying that I have to modify the the framerate from 5 FPS to 30 FPS to see
the video-output of the guests.
great video, thanks! I just set up on linode.   tried vultr but their cloud configs would continually rename my server with wrong host / fqdn.  Im just getting back into linux stuff, so was easier just to start with easier to use cloud host… more closely aligned with this awesome video!
Iam facing issues with Jitsi meet token could you please help iam using AWS EC2 INSTANCE UBUNTU 20.04 lts
Hey Jacob / All, I'm looking to find someone that can help me setup a Jitsi server and perhaps some custom development. Any interest or able to recommend anyone who may be? TIA.
Hi Jason, thanks for watching! I'm not accepting clientele work at this time, nor do I know anyone who is.
Can I create more than one user in Prosody?
Amazingly clear and informative instructional! This combined with your text wiki page (for cut and paste of commands) made the whole process very easy for my first droplet installation. Thanks!
Hi Jacob thanks for the nice video and step by step guide and so sorry for this long post.
I hope you know jitsi better than me and explain a little how it works.

I am  at home behind a  technicolor 789vac2 router (ip .1) redirecting some ports to my qnap nas(ip .20), some other ports to my mailserver(ip .22) (precisely kolab, so ports 80, 8080, 443, 25, 110, 143 and many others are busy). domain defined with aruba and static external ip arranged with all the necessary MX records as well to sun the whole aforesaid.

I am trying to rig up a jitsi VM (ip .47) (debian 10 + apache2.4 as i don't know nginx) on the qnap but I cannot expose port 443 as it is already used by the mail server so I have prepared a suitable reverse proxy on the mailserver apache2.4. Now the machine is perfectly reachable. I prepared a proxy for port 80 redirecting on port 443 the same as the native port would have done on

I can create meetings, secure the server as  you indicated and provided each end every feature you have described, but still I cannot join from any other machine (internal or extenral from my LAN equivalently).
I have also succeded in securing the server expanding my mail server certificates including into my original www and certificate from Letsencrypt. All seems fine with the basics. Rocket science is still mocking a little instead.

Now my questions:
  1. shall I have a proxy also for port 5280? Bosh. Shall I prepare a redirect for http-bind? I'm going for some trial and error process but the combinations are almost infinite.
  2. what is port 4443 for? Is it a mistake and is shall simply be 443?
  3. port 1000/udp goes directly out through as that port is not use by anything ele, and I did the same for port 1000 and 5280 but without success.
  4. do you have any idea how to cope with this mixed proxy configuration? Do you have one at hand to show? What about other thousand of setting in all configuration files?
  5. looking at the manual install network description on jitsi manual, there are other ports entering the area, namely 5347 from video bridge to xmpp and back and 5222. Do you think that the simple tag localhost (or into the respective setting entries all along the config files will do just fine or will those ports be bounced between jitsi and mail server? SO shall I make meil aware of those ports?

tanks a lot at least to read all this!
by Alex

One question but first. I want to say thank you very much for all the work you have done on these tutorials. they have been a big help. Always been hesitant about getting into Linux, well more intimidated than anything else. Still going through the backlog but i started with your next-cloud 15 vid and followed suite with the nxt 17 but installed 18 as that was out.

Of course, i setup my own jitsi server which i self host at home at the moment for our martial arts club for our higher rank belts for our theory training. Anyway, i am learning more as i go and it is all thanks to your videos that finally got me into taking on the challenge of learning Linux more seriously than just having it being a want to learn.

My situation is this, at the moment i have two physical machines, one running next cloud and the other jitsi. Since it is a home network, i have my port forwarding setup for the both, obviously since i cannot port forward the same ports of 80 / 443 to both machines at the same time, i have to go into my router and just change the ip address on those ports every time i need to use one or the other.

The goal is as follows

Been doing research on how to change the ports on either next cloud or jitsi and have attempted those changes without much luck yet. There is a smattering of info based on  similar questions along the same line and does not seem  to be any solid info that i have found.

At the moment, the goal is to have either next cloud or jitsi run on a different set of ports (not really fussed about which one it is at this point) so i don't have to keep swapping back and forth my router settings. Eventually, the longer term goal is once i am able to get a better machine, i would like to run both of them on the same machine.

Question is. Has someone else done this yet / know how to do it or know of some video that i might not have come across yet that can point me in the right direction please!?!.  On a side note, i have been going through the jitsi docs to try and figure it out, my lack of knowledge is letting me down at the moment.

Any help is greatly appreciated.

Thanks again for all your vids and work on them.
First off, I must give you a big thank you for this excellent tutorial. I was able to get my jitsi server up and running. Brilliant job on the instructions, I am not very good with using linux, but the instructions were good enough for me.

An issue has occurred after I completed the last step to not require authentication for joining a room while still requiring authentication for creating new rooms.

When I try to join a room I continually get a prompt saying "You have been disconnected"

After following the tutorial, I was expecting to get a username and password prompt, but I have never seen it.

I've checked the configuration files and they look as they should. The only thing I am not sure about is:

When I edited /etc/prosody/conf.avail/, I copied and pasted this (and then modified to my server):

VirtualHost ""
    authentication = "anonymous"
    c2s_require_encryption = false

Should this appear as one line, or does it need a carriage return and break it up as separate lines?

It's more than one line, just like I showed in the video.
how do i install this on a hosting server?
If by "hosting server" you mean a server hosted by a hosting provider, I'm pretty sure I showed that in the video. Where are you confused?
Hello Jacob
I think he meant shared hosting

Greetings from the guy from switzerland

I installed  today Jitsi using docker on Ubuntu. I would like to follow " Step 8: To require authentication to create or join a room, open the Prosody configuration file:",  but /etc/ dir does not contain the prosody dir, and  the prosody inside the jitsi-docner directory only contains a "Dockerfile", "Makefile", and a "rootfs" directory.

Do you know where I have to make the changes you made? Is is in the Docker-file? Jitsi runs well, but I am a little bit confused. :)


I am a little bit confused why you thought it would be a good idea to ignore half of my tutorial and use Docker instead, then jump back in and expect things to match up.  :)
Hi Jacob.

I wanted only to say thanks :). Yesterday a configured my server following your video. And it's great. I am teaching at a school in spain, and we are looking for a solution all kids in a virtual classroom. Jitsi is just awesome!
Glad you were able to get it working and that it's useful for you!
I apologise.

Just wanted to setup a Jitsi server, started with an easy example, using Docker, and found your tutorial. Then I tried to follow your create user guid. And failed. Now, I am reading the readme file from the docker image (I know, should have done it before). But know I am getting some other errors…

Will try it step by step, using your way, common installation :). PS: Your videos are great.

Do you know any way to extend the room size. Everytime more than 20 people try to join to my room, the ones above 20 are kicked out.

I tried this:

In the file /etc/prosody/conf.d/my-domain.cfg.lua

storage = "null"
    muc_max_occupants = 40
    modules_enabled = {
        – "token_verification";

and in /etc/jitsi/jicofo/config,

but it doesn't work.

jacobgkau said

Hi Jean,

I'm very glad the video was helpful! Yes, once the server is set up, there's no difference between accessing via the app vs. the website. You will need to get your port forwarding set up to get it working in the first place (ports TCP/443 or TCP/4443 and UDP/10000 must be forwarded to the server, as stated on Jitsi Meet's GitHub readme.)
 Here it was on https port 4444  - just a note.

I have made a installation on a rpi4  that was already running with a nginx in a ispconfig setup and the installation was easy following the guide/video.

But I did have rocket chat and alot of other stuff installed on my small the rpi4 computer and the jisti modified my nginx.conf so I think I will change the setup so  
the jitsi meet is running on a standalone rpi4 computer but this also need some type of proxy/forward solution on the ispconfing/nginx on (need forward) to
on router i do portforward on wan 80,443 tcp and  UDP/10000 to but I think the LTE needs the port 80 when making the certificate (not sure if I can avoid it and use other ports here) because if I did port forward to the rpi4 on no problem so maybe running jisti on would be a solution for more easy installation but I think LTE needed a response/answer on port 80  I am not really sure ?

I have wan/firewallrouter—->switch
—>rpi4192.168.0.5(ispconfig normal ports 80,443,8080 etc)
—>rpi4192.168.0.6(jistsi) solution maybe to use 4443 here and do portforward but maybe a problem with port 80 doing LTE

Any suggestions?
   A little complicated to explain but running ispconfing on the rpi4 on ubuntu18.04 is nice but running jiste on the same rpi4 is to much and the
numbers of users capasity is surely limitd by the power of the rpi4 but only a few users is fine for now ;)

Filip said

But I did have rocket chat and alot of other stuff installed on my small the rpi4 computer and the jisti modified my nginx.conf so I think I will change the setup so  
the jitsi meet is running on a standalone rpi4 computer but this also need some type of proxy/forward solution on the ispconfing/nginx on (need forward) to

If you're going to need a proxy anyway, then you can just edit the nginx.conf so it does what you want with all of it on a single machine.

I do not use ISPConfig since I generally know how to manage configuration directly. I don't use Raspberry Pi's because they are extremely low-powered. So I can't comment on any of that.

I don't know what you're talking about with LTE or how that is related to your port forwarding setup.
My problem was that port 80 was also needed in the Lets Encrypt part - so running a webserver with port forward in the firewall to the webserver and installing the jistsi on another computer where port tcp 443 and udp 10000 was forward to the jisti computer was not working for me because port 80 also was needed in this process.
But I hope I can do some proxy setup so I can let the ispconfig with nginx do the proxy part just like I also need to add rtmp to my need.

I run ispconfig to give friend access to do things and it does have some benefits as complete solution -  but for speciel needs like installing nextcloud and jitsi.

Anyway this just to explain the "need"  for port 80 related to the install of of jitsi.

I know the RaspberryPI4 is lowpowered - but I looks like running for a few users and thats OK to lean and test setup and maybe move to bigger computer
on request depending on the need  for more power and more cpu power.  

I am thinking about a bigger server hosted on maybe linode or simular but I am not really sure about how much power is needed for a maybe bigger solution.
A big THANK YOU, I am a retired pilot and I am teaching myself IT. Currently using Jitsi, but would like to self host it at home. My question is, if I host it at home, will people be able to join through the phone as it is with
Hi Jean,

I'm very glad the video was helpful! Yes, once the server is set up, there's no difference between accessing via the app vs. the website. You will need to get your port forwarding set up to get it working in the first place (ports TCP/443 or TCP/4443 and UDP/10000 must be forwarded to the server, as stated on Jitsi Meet's GitHub readme.)
Very nice guide  - I installed it on a Raspberry PI4 4G ram with Ubuntu 18.04  so external hosting is not always needed
but I dont really know how weel its working but its possible with your guide.

I did have some problems with my ispconfing - on the same rpi4 as it was also running rocketchat, mysql so think
I will put the Jetsi Meet server on its own rpi if I can proxy the 443 to another internal rp4 computer with Jitsi.