Установка сервиса решателя
Минорная версия расширения для 1С (первые два числа версии) должна совпадать с минорной версией сервиса решателя.
Системные требования
- Установка доступна на: Windows, Linux, Docker
- Поддерживаемые архитектуры: только x64
Мы проводим тесты работоспособности на слежующих платформах:
- Debian 12;
- Ubuntu 22, 24;
- Astra Linux 1.7;
- SelectOS;
- Centos Stream 9;
- Rocky Linux 9;
- Windows 10, 11;
- Windows Server 2012 R2, 2016, 2019.
При установке на другие платформы необходимо дополнительно учитывать требования по установке .Net 8.
Установка на Windows
1. Обновление Visual C++ Redistributable
Для корректной работы сервиса требуются библиотеки Microsoft Visual C++ Redistributable. Если они еще не установлен на сервере, то их можно загрузить с официального сайта Microsoft.
2. Установка сервиса решателя
Для установки сервиса решателя на Windows скачайте и запустите MSI установщик, доступный для загрузки в разделе скачать. Для запуска установщика потребуются административные права.
Установка на Linux
Debian / Ubuntu / Astra Linux
1.Обновление пакетов, необходимых для установки
sudo apt update && sudo apt install -y wget gnupg
2. Установка ключа безопастности
Скачайте и установите наш открытый ключ:
sudo mkdir -p /usr/share/keyrings && wget -qO- https://repo.itworks.group/public.gpg | sudo gpg --dearmor -o /usr/share/keyrings/itworks.gpg
3. Добавление репозитория
sudo mkdir -p /etc/apt/sources.list.d && echo "deb [signed-by=/usr/share/keyrings/itworks.gpg] https://repo.itworks.group/deb all main" | sudo tee /etc/apt/sources.list.d/itworks.list
4. Обновление списка доступных пакетов
sudo apt update
5. Установка пакета O2
- Последняя версия
- Конкретная версия
sudo apt install -y o2
sudo apt install -y o2=1.2
6. Открытие порта (опционально)
Если на сервере установлен файрвол, то необходимо отурыть TCP порт. По умолчанию служба слушает порт 4762. Для файервола ufw окрыть доступ можно следующими командами:
sudo ufw allow 4762/tcp
sudo ufw reload
7. Проверка установки
Проверьте установленную версию:
o2 --version
Проверьте, что служба запущена:
sudo systemctl status o2
RHEL / Centos / Alt Linux
1. Обновление пакетов, необходимых для установки
sudo yum install -y wget gnupg2
2. Установка ключа безопастности
Установите наш открытый ключ:
sudo rpm --import https://repo.itworks.group/public.gpg
3. Добавление репозитория
sudo tee /etc/yum.repos.d/o2.repo <<EOF
[itworks]
name=ITworks Repository
baseurl=https://repo.itworks.group/rpm/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.itworks.group/public.gpg
EOF
4. Установка пакета O2
- Последняя версия
- Конкретная версия
sudo yum install -y o2
sudo yum install -y o2-1.2
5. Открытие порта (опционально)
Если на сервере установлен файрвол, то необходимо отурыть TCP порт. По умолчанию служба слушает порт 4762.
sudo firewall-cmd --permanent --add-port=4762/tcp
sudo firewall-cmd --reload
6. Проверка установки
Проверьте установленную версию:
o2 --version
Проверьте, что служба запущена:
sudo systemctl status o2
Установка в Docker
1. Установка Docker
Данная инструкция подразумевает, что на вашем сервере уже установлен и запущен Docker. Если это не так, пожалуйста, воспользуйтесь инструкцией по установке из официальной документации Docker.
2. Запуск сервиса O2 в контейнере
Для запуска контейнера в качестве службы выполните команду docker run для образа itworksgoup/o2:{номер_версии}. Для запуска последней версии укажите версию latest.
- Стандартные настройки
- Кастомизированные настройки
docker run \
--detach \
--name O2 \
--publish 4762:4762 \
--restart unless-stopped \
itworksgroup/o2:latest
docker run \
--detach \
--name O2 \
--publish {нужный_порт}:4762 \
--restart unless-stopped \
itworksgroup/o2:{нужная_версия}
Облачная функция Яндекс.Облако
Сервис решателя может быть развернут в виде облачной функции на базе Яндекс.Облако. Вы можете создать собственную облачную функцию, для этого вам потребуется действующий аккаунту в облаке Яндекса с привязанным платежным аккаунтом.
Для создания облачной функции выполните следующие действия:
1. Регистрация аккаунта
Если у вас еще нет аккаунта в облаке Яндекса, зарегистрируйте его. После регистрации аккаунта вам необходимо создать платежный аккаунт и првязать его к своей учетной записи.
2. Загрузка дистрибутива O2
Скачайте дистрибутив решателя для облачной функции. Скачать дистрибутив можно в данном разделе.
3. Создание S3 контейнера
Загрузка дистрибутива решателя в облачную функцию происходит из объектного S3 хранилища. Перейдите в раздел "Object Storage" в панели управления Яндекс.Облако и создайте контейнер. При создании контейнера укажите тип хранения: "холодное".
Загрузите скачанный ZIP-архив дистрибутива решателя в созданный контейнер (загружать необходимо именно в виде одного файла фархива).
4. Создание сервисного пользователя
Вызов облачной функции будет осуществляться от лица сервисного пользователя. Для создания сервисного пользователя перейдите в раздел "Identity and Access Management → Сервисные аккаунты". Создайте нового сервисного пользователя со следующими настройками:
- Имя:
o2-user - Роли в каталоге:
serverless.functions.invoker
5. Создание API-ключа доступа
Для аутентификации сервисного пользователя потребуется создать ключ доступа. Перейдите в карточку созданного сервисного пользователя и нажмите кнопку "Создать ключ". В меню выбора вида ключа выберите "Создать API-ключ". В диалоговом окне выбора укажите следующие настройки:
- Описание:
Вызов облачной функции решателя О2 - Область действия:
yc.serverless.functions.invoke
Нажмите кнопку "Создать". На экране отобразится секретный ключ, который необходимо сохранить в надежном месте. Секретный ключ не хранится в личном кабинете облака, поэтому при утере секртеного ключа вам понадобится удалить старый ключ и создать новый.
5. Создание облачной функции
Перейдите в раздел "Cloud Functions → Функции" и нажмите кнопку "Создать функцию". В диалоге создания функции укажите имя функции o2-solver и нажмите "Создать".
В окне редактирования функции укажите следующие настройки:
- Среда выполнения:
.Net /8.0 - Способ:
Object Storage - Бакет: укажите S3 контейнер, созданный ранее
- Объект: укажите имя файла ZIP-архива, который вы загрузили в контейнер, например
o2_yandex_cloud_function_1.0.0.zip - Точка входа:
ITworks.O2.YandexCloudFunction.CloudFunction - Таймаут: для начала укажите
60 секунд, позднее это значение можно будет отредактировать - Память:
512 Мб, позднее можно будет увеличить, если потребуется - Сервисный аккаунт: укажите имя созданного ранее сервисного аккаунта
o2-user - Запись логов:
Включить - Назначение:
Каталог - Минимальный уровень логирования:
INFO
Нажмите "Сохранить".
После сохранения настроек запустится сборка. Отсутсвие сообщений об ошибках свидетельствует об успешном создании облачной функции. С этого момента функция создана и готова к использованию.
Для вызова функции из программного кода 1С вам потребуется передать два параметра: идентификатор функции (отображается в настройках функции) и секретный ключ, который вы создали ранее. Пример настроек:
Сервис = О2.Сервисы().ЯндексОблако(
"xxxxxxxxxxxxxxxx", // <-- укажите свой идентификатор функции
"yyyyyyyyyyyyyyyy" // <-- укажите свой секретный ключ
);
ПараметрыПоиска = О2.СоздатьПараметрыПоиска(Сервис);
Решение = Модель.Решить(ПараметрыПоиска);
Установка в закрытом контуре
Для установки компонентов системы в закрытом контуре предварительно скачайте требуемые дистрибутивы в разделе скачать и скопируйте их на сервер закрытого контура.
Дистрибутивы Linux могут быть установлены стандартными командами:
sudo apt install /path/to/o2_1.0.0.deb
sudo yum install /path/to/o2-1.0.0.x86_64.rpm
DEB и RPM пакеты подписаны. Для проверки пакетов используйте наш открытый GPG-ключ.
Docker образ также может быть выгружен из удаленного реестра и помещен в локальный реестр закрытого контура.
Выгрузка образа на узле с доступом в интернет:
docker image save itworksgroup/o2:1.0.0 --output /path/to/o2-image.tar
Загрузка образа на узле в закрытом контуре:
docker image load --input /path/to/o2-image.tar