Инструкция по установке ПО «Смартан» для пользователя
Содержание
1. Минимальные технические требования
2. Схема архитектуры
3. Описание П О
4. Ход установки
4.1. Загрузка docker образов
4.2. Настройка перед деплоем
4.3. Деплой ПО с помощью docker-compose
5. Результат установки и доступ

Инструкция описывает шаги по установке ПО «Смартан» для дистрибутивов ОС linux. ПО предоставляется в виде архива «smartan-default.zip», а также в виде Интернет-сервиса.

  1. Информация по установке для ПО в формате Интернет-сервиса
Для использования программного обеспечения пользователь должен иметь постоянный доступ к сети Интернет.

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

  • Google Chrome 87.0 и выше; - Mozilla Firefox 84.0 и выше;
  • Safari 14.0;
  • Opera 72.0 и выше.

1.1. УСТАНОВКА И НАСТРОЙКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

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

2. Информация по установке ПО в формате распространения On-premise

2.1. Минимальные технические требования:
CPU: 2 ядра 2.3 GHZ
RAM: 4GB, Рекомендовано 8GB ROM: 20GB свободного места SMTP сервер для отправки писем

2.2. Поставка П О
Экземпляр ПО «Смартан» предоставляется в виде Архива «smartan-default.zip» с файлами для установки.

3. Ход установки

3.1. Загрузка docker образов
0. Создаем директорию для архивов:

mkdir smartan && cd smartan

  1. Docker-образы ПО предоставляются в Архиве «smartan-default.zip». Для того, чтобы распаковать Архив, воспользуйтесь командой:
unzip smartan-default.zip

2. В директорию распакуются docker образы ПО:
Aggregation Service, Backend, Frontend, Notification Service, RabbitMQ, PostgreSQL, Nginx.

Для загрузки docker образов в локальный docker container registry, необходимо выполнить команду для каждого архива *.tar.gz

docker load < smartanmvp-nginx.tar.gz
docker load < smartanmvp-frontend.tar.gz
docker load < smartanmvp-backend.tar.gz
docker load < smartanmvp-emailer.tar.gz
docker load < smartanmvp-aggregation.tar.gz
docker load < smartanmvp-postgres.tar.gz
docker load < smartanmvp-rabbitmq.tar.gz

3. Далее, необходимо убедиться, что docker образы загружены корректно:
sudo docker images
4*. После загрузки образов исходники можно удалить.
rm *.tar.gz

3.2. Настройка перед деплоем.

Docker volumes

Создание директорий для хранения данных volumes:

Создание специфичных директорий для docker volumes не требуется, т.к. используются «named docker volumes» в конце docker-compose файла.

services: rabbitmq:
… volumes:
— rabbitmq_data:/var/lib/rabbitmq/
— rabbitmq_log:/var/log/rabbitmq …
volumes:
rabbitmq_data: rabbitmq_log:

Для просмотра именованных томов docker, используется команда:

docker volume inspect <volume_name>

Именованные тома docker хранятся в «/var/lib/docker/volumes/»

Если необходимо добавить файл в именованный docker volume, то это необходимо
сделать внутри docker контейнера.

docker exec -it <container_name> bash

Если Вы не хотите использовать «Именованные тома», вы можете использовать «Bind mounts» с жесткой привязкой к файловой структуре сервера.

Пример:

services:
rabbitmq:

volumes:
 — ~/tmp/rabbitmq/data/:/var/lib/rabbitmq/
 — ~/tmp/rabbitmq/log/:/var/log/rabbitmq

Сетевые настройки:
Проверка доступа до сервера из внешней сети:

Порты для доступа из внешней сети необходимо открыть для запросов клиентов из 1С.
—  nginx http: 80
—  nginx https: 443

Проверка из внешнего сервера:
sudo ping $NGINX_HOST
sudo ping <IP-адрес>
curl -vI $NGINX_HOST

Для большей безопасности можно использовать DMZ сегмент для доступа к серверу. (Настраивается на стороне заказчика)

Проверка портов на сервере ПО:

Для развертывание сервсов необходимо проверить доступность портов.
—  Postgresql: 5432
—  nginx http: 80
—  nginx https: 443
—  Emailer: 25 — для отправки почтовых сообщений
—  RabbitMQ: 5672, 15 672

Запросы идут по протоколу http или https.
Для проверки занятых портов, необходимо использовать команду:
● sudo netstat -tlpn | grep -E «(:443|:80|:5432|:5672|:15 672)»

Если порты заняты другим ПО.
Находим процесс по номеру порта:
sudo lsof -i :80

После этого находим PID процесса и останавливаем его.
sudo kill -9 <PID>

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

3.3. Деплой ПО с помощью docker-compose.

Заказчику предоставляется:
●  docker-compose.yml файл с описанием развертывания докеров-контейнеров
●  env. файл с конфигурационными настройками
Для удобства, данные файлы могут лежать в одной директории.

Для запуска, необходимо перейти в директорию с файлами и выполнить команду:
sudo docker compose up -d

Если docker-compose.yml лежит в другой директории или с другим именем то:
sudo docker compose -f path/to/docker-compose.yml up -d

Если .env лежит в другой директории или с другим именем то:
sudo docker compose -env-file path/to/env/file up -d

Или оба варианта:
sudo docker compose -f path/to/docker-compose.yml -env-file path/to/env/file up -d

3. Результат установки и доступ

После выполнения вышеуказанных действий приложение будет доступно по адресу: <NGINX_HOST>,

Переменная NGINX_HOST берется из переменных окружения из файла .env \
Введите Логин и пароль (предоставляется после заключения договора)
После успешной авторизации откроется главный экран: