[HOW TO] Upgrade to the Latest Stable Version

In case you’ve been under a rock and have somehow missed it, something MEGA-exciting happened last week. THE OFFICIAL RELEASE OF THE LATEST VERSION OF JITSI [2.0.5765]! Yaaaaaaaaaaaay!!! :tada: :confetti_ball: :tada:

Look at this beautiful work of technology genius! The new interface is sooooooo sleek, I feel like it’s razor-cutting my skin! :joy:

To update to this latest version though, you need a few (new -ish) steps. The GPG key has been updated (first time in 5 years), so simply running “apt update” and “apt upgrade” won’t do the trick. If you run “apt update” with your current key, you’re likely to get an error along these lines:

The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY B4D2D216F1FD7806

In order to get the current gpg, you’ll need to first run:

wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -

And then, you can “apt update” and “apt upgrade” to upgrade your Jitsi server to the latest version.

In case you run into problems with the previous command, you should try this:

sudo rm /usr/share/keyrings/jitsi-keyring.gpg
sudo curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'
sudo apt update

And you should be good to go. Happy Jitsi-ing! :man_dancing:t5:

4 Likes

Recommended way is not to use apt-key command and allowing the key only for the related repo.

/etc/apt/sources.list.d/jitsi-stable.list

deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/
1 Like

hi, please let me know how to upgrade my jitsi server ? ,

here’s my jitsi version :
dpkg -l | grep jitsi
ii jitsi-meet 2.0.4857-1 all WebRTC JavaScript video conferences
ii jitsi-meet-prosody 1.0.4289-1 all Prosody configuration for Jitsi Meet
ii jitsi-meet-turnserver 1.0.4289-1 all Configures coturn to be used with Jitsi Meet
ii jitsi-meet-web 1.0.4289-1 all WebRTC JavaScript video conferences
ii jitsi-meet-web-config 1.0.4289-1 all Configuration for web serving of Jitsi Meet
ii jitsi-videobridge2 2.1-273-g072dd44b-1 all WebRTC compatible Selective Forwarding Unit (SFU )

Since last week , my jitsi meet can not talk and see each other on chrome browser.

Please advice, because i’m not to expert on linux , just to make sure that i’m not doing wrong while updating jitsi, that will cause an error .

Really thanks n regards,

It might be easier for you to just reinstall, seeing as you’re not very familiar with linux. For one, the issue you’re reporting is because of the move to Unified Plan, but your version, if I’m not mistaken, isn’t even running websocket for the bridge, so upgrading will require a bit more work. If you don’t mind, here are the commands to quickly uninstall and reinstall. It will bring you to the latest version with minimal effort:

sudo apt-get purge jitsi-meet jitsi-meet-web-config jitsi-meet-prosody jitsi-meet-web jicofo jitsi-videobridge2

sudo apt-get install jitsi-meet

sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Follow the prompts and you should be up and running in no time.

Hi,
If i do uninstall and reinstall my jitsi? How about the users which already registered on my jitsi server ? I’ll lost? If it is, is there any ways step by step to upgrade without losing the users ?

Please advice,

Regards

You can upgrade by following the instructions at the beginning of this thread. Then you’ll need to migrate to websockets. Use this guide:

Hi Freddie, it seems more easier to uninstall and reinstall to me as u’ve said earlier,

But as i’m not very familiar on linux, i wanna ask something,

If i try to upgrading first like your first post, and it’s gone wrong, can i do uninstall and reinstall it ? I mean the easier steps from your advice before?

Then if i wanna try to upgrade , which first that i have to do ? Steps on your first post ? Or i have to migrate away from multiplexing and enable bridge websockets first?

And maybe if i do uninstall and reinstall, i just need re-registering users on my jitsi, am i right?

One more thing, if i reinstall my jitsi ,is there any thing i have to do related to my jibri server as a recorder?

Please more advice,

Regards,

how to upgrade for Docker?

i already read this guide :

  1. Dropping multiplexing in nginx
  • delete /etc/nginx/modules-enabled/60-jitsi-meet.conf ( will be deleted)
  • Then go to /etc/nginx/site-available/your-conf and change your virtual host to listen on 443 instead of 4444.

server {
listen 4444 ssl http2;
listen [::]:4444 ssl http2;
server_name mydomain.com;
is it change to 443 ? both of them ?

  1. Edit turnserver config
  • make sure your turnserver is listening on standard port tls port 5349 . Make sure in /etc/turnserver.conf you have the following: tls-listening-port=5349

/etc/turnserver.conf

jitsi-meet coturn config. Do not modify this line

use-auth-secret
keep-address-family
static-auth-secret=xeK5ah6jDmfzmyY4
realm=mydomain.com
cert=/etc/coturn/certs/mydomain.com.fullchain.pem
pkey=/etc/coturn/certs/mydomain.com.privkey.pem

no-tcp
listening-port=4446
tls-listening-port=4445 ==>>5439
external-ip=105.50.189.64

syslog

jitsi-meet coturn relay disable config. Do not modify this line

no-multicast-peers
no-cli
no-loopback-peers
no-tcp-relay

tls-listening-port=4445 ==>> change to 5439 ?

  • In /etc/prosody/conf.avail/your-conf.cfg.lua prosody is instructed to announce turns turn server on port 5349 by having this line: { type = "turns", host = "your-domain", port = "5349", transport = "tcp" } . Make sure you replace your-domain with the DNS of your deployment.

turncredentials = {
{ type = “stun”, host = “mydomain.com”, port = “4446” },
{ type = “turn”, host = “mydomain.com”, port = “4446”, transport = “udp” },
{ type = “turns”, host = “mydomain.com”, port = “443”, transport = “tcp” } ==> change to 5439
};

{ type = “turns”, host = “mydomain.com”, port = “443”, transport = “tcp” } ==> change to 5439 ?

3. Add the bridge websocket location in your nginx config (add it after the location = /xmpp-websocket section):
*** # colibri (JVB) websockets for jvb1***
*** location ~ ^/colibri-ws/default-id/(.) {**
*** proxy_pass http://127.0.0.1:9090/colibri-ws/default-id/$1$is_args$args;***
*** proxy_http_version 1.1;***
*** proxy_set_header Upgrade $http_upgrade;***
*** proxy_set_header Connection “upgrade”;***
*** tcp_nodelay on;***
*** }***

for this point , i don’t know where’s the file location to edit ?

4. Enable the websockets in Jitsi Videobridge. Make sure in /etc/jitsi/videobridge/jvb.conf you have:

*** ***videobridge {*** *** http-servers {*** *** public {*** *** port = 9090*** *** }*** *** }*** *** websockets {*** *** enabled = true*** *** domain = "your-domain:443"*** *** tls = true*** *** }*** ***}*** ***

and for this point too, i couldn’t find the file, only these file on that directory :

root@domain:~# vi /etc/jitsi/videobridge/
callstats-java-sdk.properties config log4j2.xml logging.properties sip-communicator.properties
root@domain:~# vi /etc/jitsi/videobridge/

please more advice…

Regards,

I’m sorry, I really can’t do a line by line review. As advised earlier, your best bet is to uninstall and reinstall. It’s faster, more efficient and everything will work out of the box (including the new Breakout Rooms).

For Docker, don’t you just grab the new Docker images and run docker-compose?

Yes.

You can do either, but it would make more sense in this case to migrate to websockets first.

Yes.

At the very least, you’d want to make sure you still have the necessary Jibri accounts, make sure port 5222 is still open on the Jitsi server so Jibri can connect to it e.t.c… Basically, any thing you had to do on the Jitsi server while installing Jibri, you’d need to do.

hi Freddie,

i think , i’ll go with the easier uninstall and reinstall my jitsi, i see no other ways , because there’s some point that i can not find on migrate away from multiplexing and enable bridge websockets

i’ll start to execute these command :

sudo apt-get purge jitsi-meet jitsi-meet-web-config jitsi-meet-prosody jitsi-meet-web jicofo jitsi-videobridge2

sudo apt-get install jitsi-meet

sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

hi Freddie,

i have a problem when execute this command :

sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

the result is like below :

Reading package lists… Done
Hit:1 Index of /ubuntu bionic InRelease
Hit:2 Index of /ubuntu bionic-updates InRelease
Hit:3 Index of /ubuntu bionic-backports InRelease
Hit:4 Index of /ubuntu bionic InRelease
Hit:5 Index of /ubuntu bionic-security InRelease
Get:6 Index of /certbot/certbot/ubuntu bionic InRelease [21,3 kB]
Get:7 https://download.jitsi.org stable/ InRelease [1.882 B]
Get:8 Index of /certbot/certbot/ubuntu bionic/main amd64 Packages [8.056 B]
Get:9 Index of /certbot/certbot/ubuntu bionic/main i386 Packages [8.048 B]
Get:10 Index of /certbot/certbot/ubuntu bionic/main Translation-en [4.176 B]
Fetched 43,4 kB in 2s (19,3 kB/s)
Reading package lists… Done
Hit:1 Index of /ubuntu bionic InRelease
Hit:2 Index of /ubuntu bionic-updates InRelease
Hit:3 Index of /ubuntu bionic-backports InRelease
Hit:4 Index of /ubuntu bionic InRelease
Hit:5 Index of /certbot/certbot/ubuntu bionic InRelease
Hit:6 Index of /ubuntu bionic-security InRelease
Get:7 https://download.jitsi.org stable/ InRelease [1.882 B]
Fetched 1.882 B in 1s (1.921 B/s)
Reading package lists… Done
Reading package lists… Done
Building dependency tree
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
** certbot : Depends: python3-certbot (= 0.31.0-2~deb10u1+ubuntu18.04.1+certbot+3) but it is not going to be installed**
E: Unable to correct problems, you have held broken packages.

root@jitsi:~# sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

please advice

Thanks n regards,

seems like you have a third-party repo for certbot

my jitsi has a big problem now, i try some command for certbot and etc, now i can’t run this command :

root@Jitsi:~# sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

This script will:

  • Need a working DNS record pointing to this machine(for domain artius.fajarbenua.co.id)
  • Download certbot-auto from https://dl.eff.org to /usr/local/sbin
  • Install additional dependencies in order to request Let’s Encrypt certificate
  • If running with jetty serving web content, will stop Jitsi Videobridge
  • Configure and reload nginx or apache2, whichever is used
  • Configure the coturn server to use Let’s Encrypt certificate and add required deploy hooks
  • Add command in weekly cron job to renew certificates regularly

You need to agree to the ACME server’s Subscriber Agreement (https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf)
by providing an email address for important account notifications
Enter your email and press [ENTER]: myemail@gmail.com
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh: line 75: /usr/bin/certbot: No such file or directory

after that …
then i try to run again this command :
root@jitsi:~# sudo apt-get purge jitsi-meet jitsi-meet-web-config jitsi-meet-prosody jitsi-meet-web jicofo jitsi-videobridge2

the result is like below :
Purging configuration files for jicofo (1.0-692-hf-1) …
Removing user jicofo' ... Warning: group jitsi’ has no more members.
Done.
dpkg: warning: while removing jicofo, directory ‘/etc/jitsi/jicofo’ not empty so not removed
Processing triggers for systemd (237-3ubuntu10.39) …
Processing triggers for ureadahead (0.100.0-21) …

then i try to install jitsi-meet , it’s going error

root@Jitsi:~# sudo apt-get install jitsi-meet
Reading package lists… Done
Building dependency tree
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
jitsi-meet : Depends: jicofo (= 1.0-832-1) but it is not going to be installed
Depends: jitsi-meet-prosody (= 1.0.5675-1) but it is not going to be installed
Recommends: jitsi-meet-turnserver (= 1.0.5675-1) but it is not going to be installed or
apache2 but it is not installable
E: Unable to correct problems, you have held broken packages.

now, i dunnow what i have to do to solve the problem … hikss…hiks…hiks… :frowning:

please help

regards,

IMO it will be better if you install it on a newer distro. For example Ubuntu 20.04

Ok , i try to install on ubuntu 20.04
Btw is there any tutorial to install the latest jitsi meet on ubuntu 20.04 ?
It might help for me…

Regards,

hi emrah ,

i already reinstall my jitsi on ubuntu server 20.04 , the jitsi is running now,
now i want to create authentication for my jitsi, i’ve seem some tutorial, especially in this part :

VirtualHost "meet.mscc.mu"
        -- enabled = false -- Remove this line to enable this host
        -- authentication = "anonymous"
        **authentication = "internal_hashed"**
...

the others, is like this :
authentication = "internal_plain"

which one is right ?

and i can not find sip-communicator.properties file on my jitsi installation :
/etc/jitsi/jicofo/sip-communicator.properties

mine is :
root@jitsi:/# nano /etc/jitsi/jicofo/
config jicofo.conf logging.properties

i want to add this line :

org.jitsi.jicofo.auth.URL=XMPP:jitsi.mydomain.com

If you have installed Jicofo from the Debian package, this should go as a new ‘authentication’ section in /etc/jitsi/jicofo/jicofo.conf :

jicofo {
  authentication: {
    enabled: true
    type: XMPP
    login-url: jitsi-meet.example.com
 }

i try to set like below, but it’s not working, user still can access without password :

jicofo {
xmpp: {
client: {
client-proxy: focus.jitsi.mydomain.com
}
trusted-domains: [ “recorder.jitsi.mydomain.com” ]
}
bridge: {
brewery-jid: “JvbBrewery@internal.auth.jitsi.mydomain.com
}
}
jicofo {
authentication: {
enabled: true
type: XMPP
login-url: jitsi.mydomain.com
}

and if i setup like that beside user can access without password, we can not activated the camera and sound too

please advice
regards,