Skip to content

Jitsi

Information

Jitsi Meet is a free service for video conferencing and online webinars.

Jitsi Meet. Key Features

  • Unlimited conference duration - video calls of any duration can be made. There are no time restrictions like in some other services.
  • Number of participants - up to 100 people can simultaneously join the conference and participate in video and audio communication.
  • Messaging - built-in group chat allows participants to exchange text messages during the session.
  • Screen sharing - any participant can broadcast their screen to show presentations, documents, etc.
  • Virtual rooms - the ability to create separate virtual rooms to divide participants into workgroups.
  • Password protection - the organizer can set a password to enter the conference.
  • Conference recording - there is a function to record video communication sessions, and the recordings are saved locally.
  • Cross-platform - the client part works in the browser, on PC, Android, and iOS.
  • Calendar integration - integration with "Google Calendar" and Office 365 is provided for scheduling appointments.
  • Accessibility - the use of the service is completely free without any limitations.

Features of the assembly

  • Installation is possible on Alma Linux 8,9; CentOS 8,9 Stream; Rocky 8,9; Debian 11,12; Ubuntu 20.04, 22.04.
  • The web interface will be available at: https://jitsi{Server_ID_from_Invapi}.hostkey.in.

Getting started after deploying Jitsi Meet

A notification will be sent to the e-mail specified during registration that the server is ready for work after paying for the order. It will contain the IP address of the VPS, as well as the login and password for the connection. Clients of our company manage the hardware in the server`s and API control panel — Invapi.

Here is the data for authorization:

  • Link to access the Jitsi Meet dashboard with a web interface in the webpanel tag.

Setting up a Private Domain

A private domain in Jitsi Meet can be useful for the following purposes:

  • Limiting access to conferences - you can create rooms only for authorized users, while guests can join anonymously.
  • Security - a private domain allows you to control who can create conference rooms. This prevents unauthorized people from creating conferences.
  • User management - you can keep track of users, create and delete accounts.
  • Branding and customization - a private domain can be customized and branded by specifying your company name, logo, and other information.
  • Analytics - you can track statistics on conferences held and user activity.
  • Integration - a private domain simplifies the integration of Jitsi Meet with other corporate systems via API.
  • Support - maintaining a private domain is easier than a public domain because it is used by a limited number of people.

To create a private domain, perform the following steps (using Debian as an example):

  1. Configure authentication in Prosody. To do this, replace anonymous authentication with internal_hashed in the VirtualHost configuration file. The configuration file is located in the directory /etc/prosody/conf.avail/[your-hostname].cfg.lua.

    VirtualHost "jitsi-meet.example.com"
        authentication = "internal_hashed"
    
    Instead of jitsi-meet.example.com you must specify your hostname.

  2. Add another VirtualHost for guest access with anonymous authentication after the block described in the previous step:

    VirtualHost "guest.jitsi-meet.example.com"
        authentication = "anonymous"
        c2s_require_encryption = false
    
    guest.jitsi-meet.example.com - is an internal Jitsi function. There is no need to create a DNS record, generate an SSL/TLS certificate, or perform any web server configuration.

  3. In the Jitsi Meet configuration file - /etc/jitsi/meet/[your-hostname]-config.js - specify the guest domain in the anonymousdomain option:

    var config = {
        hosts: {
                domain: 'jitsi-meet.example.com',
                anonymousdomain: 'guest.jitsi-meet.example.com',
                ...
            },
            ...
    }
    
  4. In the Jicofo configuration file - /etc/jitsi/jicofo/jicofo.conf - enable authentication and specify the main domain in login-url:

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

    JWT: When using token-based authentication, use the type:

    jicofo {
    authentication: {
        enabled: true
        type: JWT
        login-url: jitsi-meet.example.com
    }
    ...
    
  5. Create users in Prosody using the command sudo prosodyctl register <username> jitsi-meet.example.com <password>.

  6. Restart Prosody, Jicofo, and Jitsi Videobridge:

    systemctl restart prosody
    systemctl restart jicofo
    systemctl restart jitsi-videobridge2
    
  7. Check the operation of the private domain. Conferences are now created after authentication, and guests can join anonymously.

    Note

    Full documentation for prosodyctl can be found on the official website.

Joining a Conference

After following the link from the webpanel tag, the start page will open. To start using the service, click the Start meeting button:

The browser may initially request permission to access the microphone and/or camera:

To invite participants to the conference, you can use the >> Invite people buttons:

Or use the Invite Someone button located in the conference participant management menu:

You can enable or disable cameras and microphones for individual participants or mute microphones for everyone in the same menu.

Note

For more information on the basic settings of Jitsi Meet, see the documentation of the developers.

Ordering a server with Jitsi Meet using the API

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=order_instance" \
--data "token=" \
--data "deploy_period=" \
--data "deploy_notify=" \
--data "email=" \
--data "pin=" \
--data "id=" \
--data "os_id=" \
--data "root_pass=" \
--data "hostname=" \
--data "ssh_key=" \
--data "post_install_callback=" \
--data "post_install_script=" \
--data "reinstall_key=" \
--data "os_name=" \
--data "imitate_deploy=" \
--data "imitate_error=0" \
--data "own_os=" \
--data "jenkins_task=" \
--data "traffic_plan=" \
--data "invoice_relid=" \
--data "preset=" \
--data "location_name=" \