Содержание 1. Минимальные технические требования
2. Схема архитектуры
3. Описание П О
4. Ход установки
4.1. Загрузка docker образов
4.2. Настройка перед деплоем
4.3. Деплой ПО с помощью docker-compose
5. Результат установки и доступ
Инструкция описывает шаги по установке ПО «Смартан» для дистрибутивов ОС linux. ПО предоставляется в виде архива «smartan-default.zip», а также в виде Интернет-сервиса.
- Информация по установке для ПО в формате Интернет-сервиса
Для использования программного обеспечения пользователь должен иметь постоянный доступ к сети Интернет.
Оборудование пользователя должно соответствовать рекомендуемым требованиям для функционирования браузера, через который пользователь использует программное обеспечение. Для использования программного обеспечения производитель рекомендует пользователю использовать следующие браузеры:
- 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
- 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 \
Введите Логин и пароль (предоставляется после заключения договора)
После успешной авторизации откроется главный экран: