// DevOps

Как установить Jitsi Meet на свой сервер с помощью Docker

Опубликовано 22.09.2026

Jitsi Meet — открытая система видеоконференций, которую можно развернуть на своём сервере. Проще всего сделать это через Docker: проект выпускает готовые образы и файлы Compose. Ниже — установка по официальному руководству docker-jitsi-meet. Чем свой Jitsi отличается от Google Meet и когда он оправдан, разобрано в статье «Jitsi Meet против Google Meet».


Шаг 1: Подготовка

Понадобятся:

  • сервер с Linux, например Ubuntu;
  • доменное имя с A-записью на IP-адрес сервера, например meet.example.com;
  • Docker и плагин Docker Compose.

Шаг 2: Скачивание релиза

Руководство требует брать архив последнего релиза, а не клонировать репозиторий: в ветке разработки лежат тестовые образы.

bash
wget $(wget -q -O - https://api.github.com/repos/jitsi/docker-jitsi-meet/releases/latest | grep zip | cut -d\" -f4)
unzip <имя-скачанного-архива>.zip
cd <каталог-из-архива>

Имя архива и каталога зависит от версии релиза, поэтому посмотрите их после скачивания командой ls.


Шаг 3: Настройка .env

  1. Создайте файл на основе примера и сгенерируйте пароли служебных учётных записей:

    bash
    cp env.example .env
    ./gen-passwords.sh
  2. Укажите адрес, по которому будет открываться Jitsi. Переменная называется PUBLIC_URL (переменной JITSI_DOMAIN, которую можно встретить в старых инструкциях, в env.example нет):

    dotenv
    PUBLIC_URL=https://meet.example.com
  3. По умолчанию веб-интерфейс слушает порты 8000 (HTTP) и 8443 (HTTPS) — это рассчитано на работу за обратным прокси. Если Jitsi будет сам принимать HTTPS и получать сертификат Let’s Encrypt, переключите порты на стандартные и включите сертификат:

    dotenv
    HTTP_PORT=80
    HTTPS_PORT=443
    ENABLE_HTTP_REDIRECT=1
    ENABLE_LETSENCRYPT=1
    LETSENCRYPT_DOMAIN=meet.example.com
    LETSENCRYPT_EMAIL=admin@example.com

    Если перед Jitsi уже стоит nginx, порты не меняйте и Let’s Encrypt в Jitsi не включайте — вариант с обратным прокси описан в статье «Jitsi Meet (Docker) за Nginx Reverse Proxy».

  4. Если сервер находится за NAT, укажите его внешний адрес для видеомоста, иначе участники из интернета не получат видео:

    dotenv
    JVB_ADVERTISE_IPS=203.0.113.10
  5. Создайте каталоги конфигурации. С релиза stable-11146 контейнеры работают от непривилегированного пользователя (uid 1000) с файловой системой только для чтения, поэтому структура каталогов изменилась и каталоги storage и tmp должны быть доступны на запись:

    bash
    mkdir -p ~/.jitsi-meet-cfg/{web,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri,transcriber}
    mkdir -p ~/.jitsi-meet-cfg/storage/{jibri,prosody,transcripts,web}
    mkdir -p ~/.jitsi-meet-cfg/tmp/{web-crontabs,web-load-test}
    chmod 777 ~/.jitsi-meet-cfg/storage/{jibri,prosody,transcripts,web}
    chmod 777 ~/.jitsi-meet-cfg/tmp/{web-crontabs,web-load-test}

    Если эти каталоги не создать заранее, контейнеры, которым они нужны, не запустятся и сообщат об ошибке.


Шаг 4: Запуск

Базовый запуск

bash
docker compose up -d
docker compose ps

Дополнительные компоненты

  • SIP-шлюз (Jigasi):

    bash
    docker compose -f docker-compose.yml -f jigasi.yml up -d
  • Запись и трансляции (Jibri):

    bash
    docker compose -f docker-compose.yml -f jibri.yml up -d
  • Совместное редактирование (Etherpad):

    bash
    docker compose -f docker-compose.yml -f etherpad.yml up -d

Файлы можно комбинировать, например -f docker-compose.yml -f jigasi.yml -f jibri.yml. Как устроена запись встреч целиком, разобрано в статье «Полный конвейер записи встреч в Jitsi Meet».


Шаг 5: Проверка

  1. Откройте https://meet.example.com — должен открыться интерфейс Jitsi Meet. Работать нужно именно по HTTPS: по HTTP браузер не даст доступ к камере и микрофону.

  2. Откройте порты в межсетевом экране:

    • 80/tcp и 443/tcp — веб-интерфейс и выпуск сертификата;
    • 10000/udp — медиапотоки видеомоста. Без него страница открывается, но участники не видят и не слышат друг друга.
  3. Проведите пробную встречу с двумя участниками из разных сетей, например с компьютера и с телефона через мобильный интернет.

По умолчанию создать комнату может любой, кто открыл адрес. Как включить авторизацию и оптимизировать сервер — в статье «Jitsi Meet: Настройка авторизации и оптимизация сервера».


Обновление

Скачайте архив нового релиза в отдельный каталог, перенесите в него свой .env и сверьте его с новым env.example: переменные иногда добавляются и переименовываются. Затем в новом каталоге:

bash
docker compose pull
docker compose up -d

Перед переходом через релиз stable-11146 создайте новую структуру каталогов из шага 3 — старые релизы использовали другую.


Итог

Jitsi Meet в Docker разворачивается за полчаса: архив релиза, .env с PUBLIC_URL, каталоги конфигурации и три открытых порта. Главные ошибки — не указать PUBLIC_URL, забыть про UDP-порт 10000 и не задать внешний адрес видеомоста на сервере за NAT.

// Reviews

Отзывы по теме

Михаил - великолепный исполнитель! Чувствуется, что человек с огромным опытом. Работа была сделано четко, в срок. Пришлось повозиться из-за неидеальности проекта, который устанавливали на сервер, но Михаил внимательно и вдумчиво подсказывал как и что сделать. В итоге все заработало! Всем рекомендую для кого, важно качество работы!

Михаил - великолепный исполнитель! Чувствуется, что человек с огромным опытом. Работа была сделано четко, в срок. Пришлось повозиться из-за неидеальности проекта, который устанавливали на сервер, но Михаил внимательно и …

N_Konstantin

Настройка vps, настройка сервера

10.10.2025 · ★ 5/5

Освоившийся покупатель

// Contact

Нужна помощь?

Свяжись со мной и я помогу решить проблему

Написать в Telegram

Отвечаю в течение рабочего дня (03:00–13:00 GMT)

Или оставьте заявку здесь:

Подтвердите, что вы не бот.

Написать и получить быстрый ответ