Skip to main content

Установка Jitsi в Docker

Первым делом устанавливаем сервис Nginx Proxy Manager. Ссылка на инструкцию по установке NPM:

https://pixelfed.nbics.net/books/z-1-drugie-servisy/page/ustanovka-npm-v-docker

=======================================================

С помощью следующей команды скачиваем последний релиз набора конфигураций для установки Jifsi в Docker:

wget $(curl -s https://api.github.com/repos/jitsi/docker-jitsi-meet/releases/latest | grep 'zip' | cut -d\" -f4)

В выводе будет показан процесс скачивания репозитория с GitHub. В конце появится примерно такая строка:

2024-11-15 17:32:48 (125 KB/s) - «stable-9823» сохранён [381175]

Нам важно то, что в кавычках, в данном случае это stable-9823 (цифры - это номер сборки, с течением времени этот номер увеличивается, поэтому следующий скачаннй релиз может быть с другим номером)

stable-9823 - это название архива с репозиторием, и его нужно распаковать.

Распаковываем так:

unzip stable-9823

После распаковки нужно зайти в текущий каталог и посмотреть название распакованного каталога. Введём команду: 

ls

Среди других каталогов и файлов обратим внимание на следующий каталог:

jitsi-docker-jitsi-meet-19078a9

Это название состоит из неизменяемой части (jitsi-docker-jitsi-meet-), и части с 16-ричным кодом (в данном случае это 19078a9)

Правая часть (с кодом) будет другой после каждого обновления репозитория разработчиками, поэтому ориентируемся на неизменную часть названия. 

Далее копируем полное название каталога и переходим в него:

cd jitsi-docker-jitsi-meet-19078a9

Посмотрим, что есть в этом каталоге, с помощью команды:

ls -a

Вывод будет таким:

Jitsi.jpg

Среди каталогов и файлов выделен файл env.evample

Это файл с параметрами, в данном случае он не предназначен для работы, так как Docker его не распознает. Распознаваемый Докером файл должен называться .env
Поэтому копируем содержимое данного файла в новый файл с именем .env

Оставшийся файл нужен для восстановления, в случае неправильных настроек. Команда копирования:

cp env.example .env

Снова вводим команду:

ls -a

И видим, что появился файл .env

Jitsi2.jpg

В этом файле {.env} есть строки, задающие пароли для некоторых компонентов Jitsi, а точнее для функций этих компонентов. Сейчас переменные присуствуют в файле .env, но значения (пароли в данном случае) у них пустые.

Посмотрим содержимое файла командой:

nano .env

И прокрутим текст вниз до отображения этих параметров:

Jitsi3.jpg

Как видим, значения действительно пустые. Самостоятельно пароли туда не будем вводить, а используем специальный скрипт. Файл со скриптом называется gen-passwords.sh

Он находится в том же каталоге с репозиторием, где мы сейчас находимся. Код скрипта можно посмотреть, но сейчас важно его просто запустить. Выйдем из программы nano и запустим скрипт следующей командой:

bash gen-passwords.sh

Снова откроем файл:

nano .env

Прокрутим текст до тех же параметров, и видим вот что:

Jitsi4.jpg

Таким образом, скрипт автоматически сгенерировал пароли для нужных параметров. Генерация происходит случайным образом, поэтому не стоит опасаться, что эти пароли будут генерироваться всегда одинаково.

Выходим из программы nano (клавиши Ctrl-X)

Выходим из каталога с репозиторием на уровень выше:

cd ..

Теперь нужно создать каталоги на хостовой системе для конфигурационных файлов и других данных, которые будут наполняться во время работы Jitsi. Эта команда создаёт каталог .jitsi-meet-cfg (его название имеет вначале точку, а значит этот каталог скрытый), а также несколько подкаталогов внутри него. 

mkdir -p ~/.jitsi-meet-cfg/{web,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}

Команда создаёт каталог .jitsi-meet-cfg в том же каталоге, куда в данный момент указывает терминал. За это отвечают символы ~/

Но иногда советуют создавать этот каталог не в произвольном каталоге, а в каталоге /opt

В этом случае вся команда будет такой: sudo mkdir -p /opt/.jitsi-meet-cfg/{web,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}

Я запущу прежнюю команду, создающую новый каталог в текущем каталоге.  В итоге появится каталог .jitsi-meet-cfg с большим числом подкаталогов. 

Jitsi5.jpg

Заходим снова в каталог с репозиторием - jitsi-docker-jitsi-meet-19078a9

Сейчас нужно будет внести правки в файл .env