The instruction is available at af5b04fc32/docs/configuring-jitsi.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
8.1 KiB
Setting up the Jitsi video-conferencing platform (optional)
The playbook can install and configure the Jitsi video-conferencing platform for you.
Jitsi is an open source video-conferencing platform. It can not only be integrated with Element clients (Element Web/Desktop, Android and iOS) as a widget, but also be used as standalone web app.
The Ansible role for Jitsi is developed and maintained by MASH (mother-of-all-self-hosting) project. For details about configuring Jitsi, you can check them via:
- the role's document at the MASH project
roles/galaxy/jitsi/docs/configuring-jitsi.md
locally, if you have fetched the Ansible roles
Prerequisites
Before proceeding, make sure to check server's requirements recommended by the official deployment guide.
You may need to open some ports to your server, if you use another firewall in front of the server. Refer the role's document to check which ones to be configured.
Adjusting DNS records
By default, this playbook installs Jitsi on the jitsi.
subdomain (jitsi.example.com
) and requires you to create a CNAME record for jitsi
, which targets matrix.example.com
.
When setting, replace example.com
with your own.
Adjusting the playbook configuration
To enable Jitsi, add the following configuration to your inventory/host_vars/matrix.example.com/vars.yml
file:
########################################################################
# #
# jitsi #
# #
########################################################################
jitsi_enabled: true
########################################################################
# #
# /jitsi #
# #
########################################################################
As the most of the necessary settings for the role have been taken care of by the playbook, you can enable Jitsi on your Matrix server with this minimum configuration.
However, since Jitsi's performance heavily depends on server resource (bandwidth, RAM, and CPU), it is recommended to review settings and optimize them as necessary before deployment. You can check here for an example set of configurations to set up a Jitsi instance, focusing on performance. If you will host a large conference, you probably might also want to consider to provision additional JVBs (Jitsi VideoBridge). See here for details about setting them up with the playbook.
See the role's document for details about configuring Jitsi per your preference (such as setting a custom hostname and the environment variable for running Jitsi in a LAN).
Enable authentication and guests mode (optional)
By default the Jitsi Meet instance does not require for anyone to log in, and is open to use without an account.
If you would like to control who is allowed to start meetings on your instance, you'd need to enable Jitsi's authentication and optionally guests mode.
See this section on the role's document for details about how to configure the authentication and guests mode. The recommended authentication method is internal
as it also works in federated rooms. If you want to enable authentication with Matrix OpenID making use of Matrix User Verification Service (UVS), see here for details about how to set it up.
Enable Gravatar (optional)
In the default Jisti Meet configuration, gravatar.com
is enabled as an avatar service.
Since the Element clients send the URL of configured Matrix avatars to the Jitsi instance, our configuration has disabled the Gravatar service.
To enable the Gravatar service nevertheless, add the following configuration to your vars.yml
file:
jitsi_disable_gravatar: false
Warning
This will result in third party request leaking data to the Gravatar Service (
gravatar.com
, unless configured otherwise). Besides metadata, the Matrix user_id and possibly the room ID (viareferrer
header) will be also sent to the third party.
Installing
After configuring the playbook and potentially adjusting your DNS records, run the playbook with playbook tags as below:
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
The shortcut commands with the just
program are also available: just install-all
or just setup-all
just install-all
is useful for maintaining your setup quickly (2x-5x faster than just setup-all
) when its components remain unchanged. If you adjust your vars.yml
to remove other components, you'd need to run just setup-all
, or these components will still remain installed. Note these shortcuts run the ensure-matrix-users-created
tag too.
Usage
You can use the self-hosted Jitsi server in multiple ways:
-
by adding a widget to a room via Element Web (the one configured by the playbook at
https://element.example.com
). Just start a voice or a video call in a room containing more than 2 members and that would create a Jitsi widget which utilizes your self-hosted Jitsi server. -
directly (without any Matrix integration). Just go to
https://jitsi.example.com
, and you can start a videoconference.
Note that you'll need to log in to your Jitsi's account to start a conference if you have configured authentication with internal
auth.
Check the official user guide for details about how to use Jitsi.
Troubleshooting
See this section on the role's document for details.