Обновление серверной части приложения#

Загрузка новой версии установщика#

Для обновления серверной части приложения необходимо обновить установщик. Для этого перейдите в директорию ранее загруженного установщика и выполните команду:

git pull

Внимание

Обновление установщика необходимо выполнять от имени того же пользователя, от которого выполнялась загрузка установщика.

После выполнения команды установщик будет готов к дальнейшему обновлению серверной части.

Обновление версии приложения#

Обновление происходит в два этапа:

  • корректировка текущих конфигурационных файлов для новой версии;

  • запуск команды автоматического обновления.

Все корректировки конфигурационных файлов должны выполняться в строгой последовательности от текущей версии развернутого приложения до версии, соответствующей текущей версии установщика.

Корректировки версий#

Внимание

Найдите отметку для вашей текущей версии серверной части в блоке ниже и выполните все корректировки, описанные ниже метки, включая те, что указаны для версий выше текущей.

1.6.* и ниже#

>> если текущая установленная версия 1.6.* или ниже, начните отсюда

Для версий выше 1.6.* Google Recaptcha является обязательным требованием. Убедитесь, что у вас указаны все необходимые данные в файле configs/captcha.yaml в соответствии с разделом Настройка Google Recaptcha. Если у вас нет необходимых ключей, то получите их в соответствии с рекомендациями раздела Подключение Google Recaptcha, а затем заполните конфигурационный файл configs/captcha.yaml.

В версиях выше 1.6.* реализована поддержка аутентификации по электронной почте. Для устранения несовместимости установщика со старой версией конфигурационного файла откройте файл configs/team.yaml любым текстовым редактором и добавьте в конце файла два поля:

root_user.mail: "<адрес электронной почты>"
root_user.password: "very-strong-password"

Внимание

Каждое поле должно располагаться на новой строке. Перед названием поля в файле не должно быть пробелов или других символов.

Выполните команду предварительного обновления в директории установщика:

sudo python3 script/update.py

Выполнение команды завершится сообщением об отсутствии настройки SMTP-сервера. Выполните настройки в соответствии с разделом Настройка почты.

Примечание

Настройка почты для Root‑пользователя является необходимым требованием, однако дальнейший процесс обновления не привяжет указанную почту к учетной записи в приложении.

1.9.* и ниже#

>> если текущая установленная версия 1.9.* или ниже, начните отсюда

Выполните команду предварительного обновления в директории установщика:

sudo python3 script/update.py

Выполните служебные команды:

sudo python3 script/init_premise.py
sudo python3 script/activate_server.py

2.0.1 и ниже#

>> если текущая установленная версия 2.0.1 или ниже, начните отсюда

Выполните обновление библиотек командой:

sudo pip3 install docker==7.1.0

2.0.7 и ниже#

>> если текущая установленная версия 2.0.7 или ниже, начните отсюда

Обновление разрешений для сервера лицензий#

Обновите разрешения в сетевом экране, добавив адрес 45.92.177.63 (license.getcompass.ru и push-onpremise.getcompass.ru) в разрешенные.

sudo ufw allow out to 45.92.177.63 port 443;
sudo ufw allow from 45.92.177.63 port 433;
Обновление настроек SSO-аутентификации#

Выполните команду предварительного обновления в директории установщика:

sudo python3 script/update.py

Выполните обновление связей учетных записей и SSO аутентификации.

sudo python3 script/reform_sso.py

Если настроена авторизация через SSO и хотите выполнять авторизацию в аккаунт root-пользователя через SSO, то заполните поле root_user.sso_login в файле настроек configs/team.yaml и выполните команду:

sudo python3 script/add_root_user_sso_login.py
Обновление настроек сервиса аудио- и видеозвонков#

Разрешите в сетевом экране внешний доступ к сервису аудио- и видеозвонков:

sudo ufw allow 10000/tcp;
sudo ufw allow 10000/udp;

Закройте в сетевом экране доступ к медиа-сервису предыдущей версии:

sudo ufw deny 31800/tcp;
sudo ufw deny 31801/tcp;
sudo ufw deny 31802/tcp;
sudo ufw deny 33000:33999/tcp;
sudo ufw deny 33000:33999/udp;

sudo ufw deny 3478/tcp;
sudo ufw deny 5349/tcp;
sudo ufw deny 34000:34999/tcp;
sudo ufw deny 34000:34999/udp;

Примечание

Вышеуказанные команды актуальны для настроек по умолчанию, если при установке указывались другие порты, необходимо указать их.

Если вы не планируете использовать собственный TURN-сервер, разрешите в настройках сетевого экрана доступ к TURN-серверу по умолчанию:

sudo ufw allow out to 77.223.115.66 port 443;
sudo ufw allow out to 77.223.115.66 port 80;

sudo ufw allow from 77.223.115.66 port 433;

Запуск обновления#

Обновление запускается командой из директории установщика:

sudo python3 script/update.py

Обновление приложения занимает некоторое время. В зависимости от мощности сервера время может варьироваться от 3 до 15 минут. Текущее состояние обновления можно узнать с помощью команды:

sudo docker service ls | grep -vE "default-file|jitsi-custom"

У всех сервисов правое и левое число в колонке REPLICAS должны совпадать (ниже пример, количество строк и значения в полях могут быть другими):

ID             NAME              MODE         REPLICAS   IMAGE                                                     PORTS
jrnsa5illaao   pivot_nginx       replicated   1/1        dockerhub.com/nginx/nginx:apline-latest                   *:31000->443/tcp
7wismhojfze5   pivot_php_pivot   replicated   1/1        docker.getcompass.com/compass-on-premise/php_pivot:1.1.0
3meydkmdpx3j   pivot_go_event    replicated   1/1        docker.getcompass.com/compass-on-premise/go_event:1.1.0

Если по истечении ожидаемого времени сервис не готов к работе, то можно получить дополнительную информацию командой:

sudo docker service ps <ID_или_NAME_сервиса> --no-trunc

Напишите нам в пространстве поддержки On-premise, Telegram, WhatsApp или на почту support@getcompass.ru, чтобы получить индивидуальную демонстрацию функционала и помощь по вопросам интеграции мессенджера в вашей компании.