Установка лицензий
Community лицензия уже включена в дистрибутеве решателя библиотеки и не требует отдельной установки. Если вы не планируете расширять Community-лимиты дополнительными лицензиями, то данный раздел можно пропустить.
Для обработки моделей, емкость (CU) которых первосходит лимиты Community лицензии, необходимо приобрести одну или несколько лицензий. Емкости лицензий суммируются. Подробнее правила лицензирования описаны в данном разделе.
Данные приобретенных лицензий могут быть переданы решателю:
- в виде файлов в файловой системе;
- в виде переменных середы (ENV) при запуске приложения.
Установка лицензий в файловую систему
Лицензионные ключи являются файлами с расширением "o2lic". Данные файлы необходимо скопировать в файловую систему. Ниже представлены пути директорий для различных вариантов запуска решателя. Если указанные директории отсутствуют в файлововй системе, то их можно предварительно создать.
| Способ запуска | Расположение |
|---|---|
| Встроенный решатель на Windows | %ProgramData%\ITworks\O2\licenses |
| Служба решателя на Windows | %ProgramData%\ITworks\O2\licenses |
| Встроенный решатель на Linux | /etc/o2/licenses |
| Служба решателя на Linux | /etc/o2/licenses |
| Служба решателя в Docker | /licenses |
| Облачная функция Яндекс.Облако | не предусмотрено |
Для установки файлов в Linux директория и файлы лицензий должны иметь доступ на чтение 755 и 644 соответственно.
Для установки лицензий в Docker-контейнер к нему необходимо примонтировать директорию с лицензиями,
в качетсве точки монтирования в контейнере необходимо указать /licenses.
docker run \
--detach \
--name O2 \
--publish 4762:4762 \
--restart unless-stopped \
--volume /some/host/path:/licenses:ro \
itworksgroup/o2:latest
В данном фрагменте директория /some/host/path монтируется в контейнер в точку /licenses с доступом только на чтение (read only).
Передача лицензий через переменные окружения
Для передачи лицензии решателю O2 используется передача текстового содержимого лицензии (токена) через переменную окружения O2_LICENSES.
Для утилиты командной строки (CLI)
- Linux (bash)
- Windows (PowerShell)
- Windows (cmd)
export O2_LICENSES="<СОДЕРЖИМОЕ_ЛИЦЕНЗИИ>"
o2 solve /path/to/model.o2m
$env:O2_LICENSES = "<СОДЕРЖИМОЕ_ЛИЦЕНЗИИ>"
o2 solve "C:\path\to\model.o2m"
set O2_LICENSES=<СОДЕРЖИМОЕ_ЛИЦЕНЗИИ>
o2 solve "C:\path\to\model.o2m"
Для контейнера Docker
- Через параметр
- Через .env файл
docker run \
--detach \
--name O2 \
--publish 4762:4762 \
--restart unless-stopped \
--env O2_LICENSES="<СОДЕРЖИМОЕ_ЛИЦЕНЗИИ>" \
itworksgroup/o2:latest
Содержимое файла .env:
O2_LICENSES=<СОДЕРЖИМОЕ_ЛИЦЕНЗИИ>
Запуск контейнера:
docker run \
--detach \
--name O2 \
--publish 4762:4762 \
--restart unless-stopped \
--env-file .env \
itworksgroup/o2:latest
Для облачной функции Яндекс.Облако
- Откройте панель редактирования функции в Yandex Cloud Console.
- Перейдите в раздел
Переменные окружения. - Добавьте переменную:
Имя:O2_LICENSES
Значение:содержимое лицензии - Сохраните изменения и выполните повторный деплой функции.