
Подготовка VM для установки
IP-адрес VM, на которой разворачивается NAICE, должен быть задан статически! |
Для разворачивания VM требуется установить ряд пакетов, содержащихся в официальных репозиториях используемой ОС. Для установки таких пакетов может использоваться локальное зеркало официального репозитория, размещенное в закрытом контуре и доступное для установки на целевую машину с помощью пакетного менеджера APT (Ubuntu, Astra Linux) или YUM (RedOS). |
Развернуть VM в соответствии с требованиями, описанными в разделе v1.1_3.1 Системные требования.
Установить пакеты docker.io и docker-compose в соответствии с официальной инструкцией: https://docs.docker.com/engine/install/ubuntu/ sudo apt-get update && \
sudo apt-get install ca-certificates curl && \
sudo install -m 0755 -d /etc/apt/keyrings && \
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && \
sudo chmod a+r /etc/apt/keyrings/docker.asc && \
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null && \
sudo apt-get update && \
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y |
|
Проверить корректность установки и версии docker и docker-compose (версия не должна быть ниже указанной): $ sudo docker --version
Docker version 29.2.1, build a5c7197
$ sudo docker compose version
Docker Compose version v5.1.0 |
|
Установить пакеты и все необходимые зависимости: sudo apt install sshpass python3-pip python3-psycopg2 python3-apt ansible -y |
|
Для разворачивания VM требуется установить ряд пакетов, содержащихся в официальных репозиториях используемой ОС. Для установки таких пакетов может использоваться локальное зеркало официального репозитория, размещенное в закрытом контуре и доступное для установки на целевую машину с помощью пакетного менеджера APT. |
Установить пакеты из официального репозитория Astra Linux: sudo apt install docker.io python3-apt python3-psycopg2 python3-requests sshpass -y |
Дополнение docker compose нельзя установить из репозитория Astra Linux т.к. там находиться старая версия. Требуется загрузить его с нашего сайта по ссылке https://cloud.eltex-co.ru/index.php/s/yKlAcy83VVPEfzx на целевой хост. При необходимости можно загрузить на любой ПК, с которого есть доступ через сеть Интернет к сайту https://cloud.eltex-co.ru по ссылке выше и выполнить его перенос на целевой хост установки любым доступным SCP-менеджером в домашнюю директорию пользователя, из под которого будет выполняться установка. |
Пример загрузки файла с использованием утилиты wget: wget https://cloud.eltex-co.ru/index.php/s/yKlAcy83VVPEfzx/download -O docker-compose-linux-x86_64 |
На целевом хосте создать папку: sudo mkdir -pv /usr/local/lib/docker/cli-plugins |
Поместить в неё скачанный файл download под именем docker-compose: sudo mv -v docker-compose-linux-x86_64 /usr/local/lib/docker/cli-plugins/docker-compose |
Семенить владельца файла на root: sudo chown root:root -v /usr/local/lib/docker/cli-plugins/docker-compose |
Сделать файл исполняемым: sudo chmod 755 -v /usr/local/lib/docker/cli-plugins/docker-compose |
Проверить корректность установки и версии docker и docker-compose (версия не должна быть ниже указанной): $ sudo docker --version
Docker version 28.3.3.astra1, build
$ sudo docker compose version
Docker Compose version v2.2.3 |
|
sudo apt install docker.io -y && \
wget https://cloud.eltex-co.ru/index.php/s/yKlAcy83VVPEfzx/download -O docker-compose-linux-x86_64 && \
sudo mkdir -pv /usr/local/lib/docker/cli-plugins && \
sudo mv -v docker-compose-linux-x86_64 /usr/local/lib/docker/cli-plugins/docker-compose && \
sudo chown root:root -v /usr/local/lib/docker/cli-plugins/docker-compose && \
sudo chmod 755 -v /usr/local/lib/docker/cli-plugins/docker-compose && \
sudo docker --version && \
sudo docker compose version |
|
Загрузить и установить дополнительное ПО для возможности корректной работы ansible в ходе установки. Скачать файл с дополнительным ПО ссылке https://cloud.eltex-co.ru/index.php/s/Y8m92XlasaCIyTX на целевой хост. При необходимости файл можно загрузить на любой ПК, с которого есть доступ через сеть Интернет к сайту https://cloud.eltex-co.ru по ссылке выше и выполнить его перенос на целевой хост установки любым доступным SCP-менеджером в домашнюю директорию пользователя, из под которого будет выполняться установка. |
Пример загрузки файла с использованием утилиты wget: wget https://cloud.eltex-co.ru/index.php/s/Y8m92XlasaCIyTX/download -O ansible_library_install_v2.tar.gz |
Скачать и переместить архив на хост, на котором будет производиться установка NAICE любым удобным способом, затем разархивировать его и перейти в полученную директорию: tar xvzf ansible_library_install_v2.tar.gz
cd ansible-install |
wget https://cloud.eltex-co.ru/index.php/s/Y8m92XlasaCIyTX/download -O ansible_library_install_v2.tar.gz && \
tar xvzf ansible_library_install_v2.tar.gz && \
cd ansible-install |
|
Далее необходимо выполнить следующий скрипт для установки необходимого ПО: sudo bash install_ansible.sh |
В результате выполнения скрипта, пользователь, под которым выполняется установка, переключится в привилегированный режим "#". Все дальнейшие действия по установке необходимо выполнять в этом режиме! |
Проверить, что в результате выполнения скрипта установлены следующие пакеты и зависимости: # python3 --version
Python 3.11.11
# ansible --version
ansible [core 2.17.8]
config file = None
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/tester/ansible-install/python-lib/python-headless-3.11.11-linux-x86_64/lib/python3.11/site-packages/ansible
ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
executable location = /home/tester/ansible-install/python-lib/python-headless-3.11.11-linux-x86_64/bin/ansible
python version = 3.11.11 (main, Dec 22 2024, 23:27:25) [Clang 19.1.0 (https://github.com/ziglang/zig-bootstrap 46b9e66db90230fe62404b27 (/home/tester/ansible-install/python-lib/python-headless-3.11.11-linux-x86_64/bin/python)
jinja version = 3.1.6
libyaml = True
# ansible-galaxy collection list
# /root/.ansible/collections/ansible_collections
Collection Version
---------------------------------------- -------
community.docker 4.5.2
community.library_inventory_filtering_v1 1.1.1
community.postgresql 3.14.0 |
|
Для разворачивания VM требуется установить ряд пакетов, содержащихся в официальных репозиториях используемой ОС. Для установки таких пакетов может использоваться локальное зеркало официального репозитория, размещенное в закрытом контуре и доступное для установки на целевую машину с помощью пакетного менеджера APT. |
Установить из официального репозитория Astra Linux пакеты со всеми зависимостями: sudo apt install docker.io docker-compose-v2 ansible python3-psycopg2 python3-apt sshpass -y |
Проверить корректность установки и версии docker и docker-compose (версия не должна быть ниже указанной): $sudo docker --version
Docker version 28.3.3.astra1, build
$ sudo docker compose version
Docker Compose version 2.39.2.astra1 |
Проверить версию Ansible: $ ansible --version
ansible [core 2.18.3]
config file = None
configured module search path = ['/home/tester/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
ansible collection location = /home/tester/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.11.2 (main, Nov 26 2025, 15:01:00) [GCC 12.2.0] (/usr/bin/python3)
jinja version = 3.1.2
libyaml = True |
Установить Ansible community docker версии 4.7.0. Для этого требуется скачать и поместить на целевой хост файл community-docker-4.7.0.tar.gz. Прямая ссылка на скачивание файла: https://cloud.eltex-co.ru/index.php/s/9Hv6p4yz611fDXb При необходимости архив можно загрузить на любой ПК, с которого есть доступ через сеть Интернет к сайту https://cloud.eltex-co.ru по ссылке выше и выполнить его перенос на целевой хост установки любым доступным SCP-менеджером в домашнюю директорию пользователя, из под которого будет выполняться установка. |
Можно скачать командой wget на целевой хост, если открыть доступ к адресу https://cloud.eltex-co.ru: wget https://cloud.eltex-co.ru/index.php/s/9Hv6p4yz611fDXb/download -O community-docker-4.7.0.tar.gz |
Установить коммьюнити командой (без использования sudo): $ ansible-galaxy collection install community-docker-4.7.0.tar.gz |
Проверить версию коммьюнити: $ ansible-galaxy collection list | grep community.docker
community.docker 4.7.0
community.docker 3.8.1 |
|
|
Установить из официального репозитория RedOS пакеты со всеми зависимостями: sudo yum install docker-ce docker-compose sshpass python3-pip python3-psycopg2 python3-requests ansible -y |
Проверить корректность установки и версии docker и docker-compose (версия не должна быть ниже указанной): $ sudo docker --version
Docker version 28.1.1, build 4eba377
$ sudo docker compose version
Docker Compose version 5.0.2 |
Проверить версию Ansible: Для ОС RedOS 7.3.X
ansible [core 2.13.13]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/tester/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.8/site-packages/ansible
ansible collection location = /home/tester/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.8.20 (default, Oct 29 2025, 00:00:00) [GCC 11.4.1 20230605 (Red Soft 11.4.0-1)]
jinja version = 3.1.5
libyaml = True
Для ОС RedOS 8.0.X
$ ansible --version
ansible [core 2.16.14]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/tester/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.11/site-packages/ansible
ansible collection location = /home/tester/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.11.14 (main, Oct 30 2025, 00:00:00) [GCC 13.3.1 20250418 (RED SOFT 13.3.1-3)] (/usr/bin/python3)
jinja version = 3.1.5
libyaml = True |
|
Установить Ansible community docker версии 4.7.0. Для этого требуется скачать и поместить на целевой хост файл community-docker-4.7.0.tar.gz. Прямая ссылка на скачивание файла: https://cloud.eltex-co.ru/index.php/s/9Hv6p4yz611fDXb При необходимости архив можно загрузить на любой ПК, с которого есть доступ через сеть Интернет к сайту https://cloud.eltex-co.ru по ссылке выше и выполнить его перенос на целевой хост установки любым доступным SCP-менеджером в домашнюю директорию пользователя, из под которого будет выполняться установка. |
Можно скачать командой wget на целевой хост, если открыть доступ к адресу https://cloud.eltex-co.ru: wget https://cloud.eltex-co.ru/index.php/s/9Hv6p4yz611fDXb/download -O community-docker-4.7.0.tar.gz |
Установить коммьюнити командой (без использования sudo): $ ansible-galaxy collection install community-docker-4.7.0.tar.gz |
Проверить версию коммьюнити: Для ОС RedOS 7.3.X
$ ansible-galaxy collection list | grep community.docker
community.docker 4.7.0
community.docker 2.7.3
Для ОС RedOS 8.0.X
$ ansible-galaxy collection list | grep community.docker
community.docker 4.7.0
community.docker 3.7.0 |
|
Установка NAICE
В ходе однохостовой установки оффлайн, все действия выполняются на том же хосте, где планируется развернуть NAICE, и не требуют отдельной VM! |
Необходимо загрузить на конечный хост архив, представленный ниже. Архив содержит все необходимые плейбуки и образы.
Скачать последнюю стабильную версию NAICE для установки в закрытом контуре на странице: v1.1_1.5 Стабильные версии
При необходимости архив можно загрузить на любой ПК, с которого есть доступ через сеть Интернет к сайту https://cloud.eltex-co.ru по ссылке выше и выполнить его перенос на целевой хост установки любым доступным SCP-менеджером в домашнюю директорию пользователя, из под которого будет выполняться установка. |
Можно скачать командой wget на целевой хост, если открыт доступ к адресу https://cloud.eltex-co.ru:
wget https://cloud.eltex-co.ru/index.php/s/EJrZJMZbOVmGHXH/download -O naice_install_2026-03-06.tar.gz |
Распаковать на целевом хосте полученный архив и перейти в директорию ansible внутри полученной директории
tar xzvf naice_install_2026-03-06.tar.gz
cd naice_install/ansible |
В файле inventory/hosts.yml указать:
В переменной ansible_host необходимо указать IP-адрес или доменное имя, по которому будет производиться подключение к GUI NAICE. Этот адрес (или имя) должен существовать на целевом хосте! |
---
common:
hosts:
common_host:
ansible_host: <IP-адрес или доменное имя хоста для NAICE>
ansible_user: <логин пользователя>
ansible_ssh_pass: <пароль пользователя>
ansible_become_pass: <пароль для повышения привилегий (sudo)> |
При необходимости выполнить настройку переменных плейбука, расположенных в файле group_vars/all.yml. Подготовка переменных не отличается от онлайн установки и выполняется аналогичным способом. Подробнее с назначением переменных можно ознакомиться на странице: Настройка переменных в файле group_vars/all.yml
Выполнить плейбук для установки NAICE:
ansible-playbook install-naice.yml -i inventory/hosts.yml |
Запустится процесс установки, результатом работы которого будет установленный сервис NAICE. Убедитесь, что установка завершена без ошибок.
Пример успешного завершения установки:
PLAY RECAP **********************************************************************************************************************************************************************************************************************************
common_host : ok=110 changed=34 unreachable=0 failed=0 skipped=47 rescued=0 ignored=0 |
Далее необходимо проверить состояние сервисов. Для этого, перейти в директорию установки NAICE (по умолчанию /etc/docker-naice) и выполнить команду:
cd /etc/docker-naice/
sudo docker compose ps -a |
Результат (пример показан для ОС Ubuntu 24.04 LTS и может отличаться для других ОС, в зависимости от версии docker-compose):
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
epg-service naice-build-hosted.registry.eltex.loc/naice/epg-service:1.1-3 "/bin/sh -e /usr/loc…" epg-service 9 minutes ago Up 4 minutes (healthy) 0.0.0.0:8100->8100/tcp, [::]:8100->8100/tcp
naice-aquila naice-release.registry.eltex.loc/naice-aquila:1.1 "java -cp @/app/jib-…" naice-aquila 9 minutes ago Up 3 minutes (healthy) 0.0.0.0:8091->8091/tcp, [::]:8091->8091/tcp, 0.0.0.0:49->1049/tcp, [::]:49->1049/tcp
naice-bubo naice-release.registry.eltex.loc/naice-bubo:1.1 "java -cp @/app/jib-…" naice-bubo 9 minutes ago Up 3 minutes (healthy) 0.0.0.0:8093->8093/tcp, [::]:8093->8093/tcp
naice-castor naice-release.registry.eltex.loc/naice-castor:1.1 "java -Djava.awt.hea…" naice-castor 9 minutes ago Up 3 minutes (healthy) 0.0.0.0:8095->8095/tcp, [::]:8095->8095/tcp
naice-cetus naice-release.registry.eltex.loc/naice-cetus:1.1 "java -cp @/app/jib-…" naice-cetus 9 minutes ago Up 3 minutes (healthy) 0.0.0.0:8099->8099/tcp, [::]:8099->8099/tcp
naice-gavia naice-release.registry.eltex.loc/naice-gavia:1.1 "java -cp @/app/jib-…" naice-gavia 9 minutes ago Up 2 minutes (healthy) 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp
naice-gulo naice-release.registry.eltex.loc/naice-gulo:1.1 "java -cp @/app/jib-…" naice-gulo 9 minutes ago Up 3 minutes (healthy) 0.0.0.0:8089->8089/tcp, [::]:8089->8089/tcp
naice-lemmus naice-release.registry.eltex.loc/naice-lemmus:1.1 "java -cp @/app/jib-…" naice-lemmus 9 minutes ago Up 3 minutes (healthy) 0.0.0.0:8083->8083/tcp, [::]:8083->8083/tcp
naice-lepus naice-release.registry.eltex.loc/naice-lepus:1.1 "java -cp @/app/jib-…" naice-lepus 9 minutes ago Up 3 minutes (healthy) 0.0.0.0:8087->8087/tcp, [::]:8087->8087/tcp, 0.0.0.0:67->1024/udp, [::]:67->1024/udp
naice-mustela naice-release.registry.eltex.loc/naice-mustela:1.1 "java -cp @/app/jib-…" naice-mustela 9 minutes ago Up 3 minutes (healthy) 0.0.0.0:8070->8070/tcp, [::]:8070->8070/tcp
naice-nats naice-build-hosted.registry.eltex.loc/naice/nats:1.1.7 "docker-entrypoint.s…" nats 9 minutes ago Up 4 minutes (healthy) 4222/tcp, 6222/tcp, 7777/tcp, 0.0.0.0:8222->8222/tcp, [::]:8222->8222/tcp
naice-ovis naice-release.registry.eltex.loc/naice-ovis:1.1 "java -cp @/app/jib-…" naice-ovis 9 minutes ago Up 3 minutes (healthy) 0.0.0.0:8084->8084/tcp, [::]:8084->8084/tcp
naice-phoca naice-release.registry.eltex.loc/naice-phoca:1.1 "java -cp @/app/jib-…" naice-phoca 9 minutes ago Up 4 minutes (healthy) 0.0.0.0:8097->8097/tcp, [::]:8097->8097/tcp
naice-postgres naice-build-hosted.registry.eltex.loc/naice/postgres:1.1.6 "docker-entrypoint.s…" postgres 10 minutes ago Up 4 minutes (healthy) 5432/tcp
naice-radius naice-release.registry.eltex.loc/naice-radius:1.1 "/docker-entrypoint.…" naice-radius 9 minutes ago Up 4 minutes (healthy) 0.0.0.0:1812-1813->1812-1813/udp, [::]:1812-1813->1812-1813/udp, 0.0.0.0:9812->9812/tcp, [::]:9812->9812/tcp
naice-sterna naice-release.registry.eltex.loc/naice-sterna:1.1 "/docker-entrypoint.…" naice-sterna 9 minutes ago Up 2 minutes (healthy) 80/tcp, 0.0.0.0:8443->444/tcp, [::]:8443->444/tcp
naice-ursus naice-release.registry.eltex.loc/naice-ursus:1.1 "java -cp @/app/jib-…" naice-ursus 9 minutes ago Up 4 minutes (healthy) 0.0.0.0:8081->8081/tcp, [::]:8081->8081/tcp
naice-vulpus naice-release.registry.eltex.loc/naice-vulpus:1.1 "java -cp @/app/jib-…" naice-vulpus 9 minutes ago Up 3 minutes (healthy) 0.0.0.0:8086->8086/tcp, [::]:8086->8086/tcp
naice-web naice-release.registry.eltex.loc/naice-web:1.1 "/docker-entrypoint.…" naice-web 9 minutes ago Up 2 minutes (healthy) 80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:80->4200/tcp, [::]:80->4200/tcp |
Все контейнеры должны быть запущены и находиться в состоянии healthy. Это будет означать, что установка выполнена успешно.