Подготовка к развертыванию#

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

Необходимое программное обеспечение#

Nginx#

Nginx является рекомендуемым веб-сервером для обработки входящих подключений. Для работы приложения необходимо открыть 443 порт в firewall и установить веб-сертификат, если он еще не установлен.

Установка Nginx выполняется следующими командами:

sudo apt update && sudo apt install nginx;

Подробная информация доступна на официальном сайте.

Docker#

Docker является средой, необходимой для работы приложения. Минимальная поддерживаемая версия Docker Engine 20.10. Варианты установки описаны в документации на официальном сайте.

Docker должен функционировать в Swarm-режиме (возможно развертывание приложения на одной ноде, являющейся одновременно рабочей и управляющей). Команда перевода Docker в Swarm-режим на управляющей ноде:

sudo docker swarm init

Python 3#

Python необходим для работы скриптов инсталлятора и генератора конфигурационных файлов на управляющих нодах. Как правило, в ОС Ubuntu Python 3 поставляется вместе с дистрибутивом. Дополнительно потребуется установить пакетный менеджер Pip:

sudo apt-get update && sudo apt-get install python3-pip

Помимо самого Python также потребуются следующие пакеты:

  • pyyaml

  • pyopenssl

  • docker

  • mysql_connector_python

  • python-dotenv

  • psutil

Установка необходимых пакетов:

sudo pip3 install pyyaml==5.4.1 pyopenssl==21.0.0 docker==5.0.3 mysql_connector_python==8.2.0 python-dotenv==1.0.0 psutil==5.9.6

Настройка ssl-сертификата#

Необходимо заранее выпустить ssl-сертификат для домена, на котором будет выполняться развертывание решения.

Внимание

При использовании сертификатов без доверенной подписи работа клиентских приложений невозможна!

Файлы сертификата необходимо разместить в директории /etc/nginx/ssl/.

Внимание

Файл должен содержать полную цепочку сертификатов!


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