---
title: "Cloud server with Jitsi Meet"
sidebar_label: "Jitsi Meet"
sidebar_position: 18
toc_max_heading_level: 3
description: "How to create a cloud server for video conferencing"
---

import EditIcon from '@selectel/docux/icons/edit'
import CheckIcon from '@selectel/docux/icons/check'
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from '@selectel/docux/components'
import {CustomTable} from '@selectel/docux/components'
import Formbricks from '@theme/MDXComponents/Formbricks'
import CopyIcon from '@selectel/docux/icons/copy'
import CreateServer from '@site/i18n/en/docusaurus-plugin-content-docs/current/_partials/cloud-servers/applications/create-server-for-apps.mdx'

# Cloud server with Jitsi Meet

Jitsi Meet is a fully encrypted, open-source video conferencing solution.

You can [create a cloud server with a pre-installed Jitsi Meet application](#create-cloud-server-with-jitsi-meet). In Russia, the application runs on a cloud server with a pre-configured [SelectOS 1 64-bit](https://selectos.selectel.ru/news/mega/) operating system. In other [countries](/infrastructure/locations.mdx#country) — Ubuntu 22.04.

Before creating a cloud server with an application, read the [software license agreements](https://423.selcdn.ru/kb/license-agreements-for-application-images-LANG.pdf) included in the image.

## Minimum resource requirements \{#minimum-requirements}

<CustomTable>
  <table>
    <thead>
      <th />

      <th>Test environment</th><th>Production environment</th>
    </thead>

    <tbody>
      <tr>
        <th>vCPU count</th><td>4</td><td>4</td>
      </tr>

      <tr>
        <th>RAM</th><td>2—4 GB</td><td>8 GB</td>
      </tr>

      <tr>
        <th>Boot volume</th><td>10 GB</td><td>10 GB</td>
      </tr>
    </tbody>
  </table>
</CustomTable>

## Create a cloud server with Jitsi Meet \{#create-cloud-server-with-jitsi-meet}

For Jitsi Meet to work, the cloud server must be accessible from the internet. To do this, when creating the server, you need to create a private subnet and attach a public floating IP address. To configure Jitsi Meet, you must specify the application parameters when creating the server.

After the server with Keycloak is created, a free [TLS certificate from Let’s Encrypt®](/certificates-manager/certificates/lets-encrypt.mdx) will be automatically issued for the domain you specify. To issue the certificate, you need to add an A record for the domain and specify the server's public floating IP address as the record value. You can add the domain to [Selectel DNS Hosting (actual](/dns-hosting/)).

Since the Jitsi Meet server will be accessible from the internet, configure mandatory authorization and [create users with the ability to create conferences](#create-user).

1. [Create a public floating IP address](#create-floating-ip).

2. [Add an A record for the domain](#add-a-record).

3. [Create a cloud server with Jitsi Meet](#create-jitsi-meet-server).

### 1. Create a public floating IP address \{#create-floating-ip}

Create a public floating IP address so that the cloud server with Jitsi Meet is accessible from the internet.

Use the [Create a public floating IP address](/cloud-servers/cloud-networks/public-floating-ip-addresses.mdx#create-public-floating-ip) section of the [Public floating IP addresses](/cloud-servers/cloud-networks/public-floating-ip-addresses.mdx) guide.

### 2. Add an A record for the domain \{#add-a-record}

[Add a resource record](/dns-hosting/records/add-record.mdx) to access Jitsi by domain.

Specify:

* [resource record type](/dns-hosting/records/add-record.mdx#record-types) in the group — A;
* record value — the public floating IP address you [created in step 1](#create-floating-ip).

### 3. Create a cloud server with Jitsi Meet \{#create-jitsi-meet-server}

<CreateServer AppNameInPanel="Cloud Jitsi Meet" MinConfig="4 vCPU, RAM starting from 8 GB and a boot disk size starting from 10 GB" OptionalVolumes="Optional: add an additional" VolumeSize="Specify the size of the network disk in GB or TB">
  4. Fill in the application parameters:

     4.1. In the **Domain zone** field, enter the domain to access Jitsi that you [added in step 2](#add-a-record).

     4.2. Enter the Jitsi administrator email address to create an account and receive Let’s Encrypt® notifications.

     4.3. Enter the public floating IP address you [created in step 1](#create-floating-ip).

     4.4. Optional: to change the port for HTTP publication, open the **Additional application parameters** block and enter the new port. The default is port 80.

     4.5. Optional: to change the port for HTTPS publication, open the **Additional application parameters** block and enter the new port. The default is port 443.

     4.6. Optional: to change the time zone, open the **Additional application parameters** block and in the **Time zone** field, enter the new value in IANA format. The default time zone is `Europe/Moscow`.
</CreateServer>

## Create a user with the ability to create conferences \{#create-user}

1. [Connect to the cloud server](/cloud-servers/manage/connect-to-server.mdx).

2. Log in as the `root` user.

3. Create a user with the ability to create conferences:

   ```bash
   docker exec jitsi-prosody-1 prosodyctl --config /config/prosody.cfg.lua register <username> meet.jitsi <password>
   ```

   Specify:

   * `<username>` — the new user's username;
   * `<password>` — the new user's password.

## Add a user certificate \{#add-user-certificate}

You can add a [user certificate](/certificates-manager/certificates/user-certificates.mdx) to a cloud server with Jitsi Meet.

1. If you are using a full certificate chain and a private key in `.pem` format, rename them to `cert.crt` and `cert.key`.

2. [Connect to the cloud server](/cloud-servers/manage/connect-to-server.mdx).

3. Log in as the `root` user.

4. Copy the `cert.crt` and `cert.key` files to the `/opt/jitsi/data/.jitsi-meet-cfg/web/keys` directory

5. [Perform a soft reboot](/cloud-servers/manage/reboot-server.mdx#perform-soft-reboot) of the cloud server.

<Formbricks />
