Подготовка 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

При установке на ОС Astra Linux версии 1.7.6 и выше с установленным обновлением БЮЛЛЕТЕНЬ № 2024-1108SE17MD необходимо отключить контроль разрешения исполнения кода в программном стеке в соответствии с инструкцией Нарушение работы некоторых программ после установки оперативного обновления Astra Linux Special Edition 1.7.6 ! В противном случае запуск ПО NAICE будет невозможен!

IP-адрес VM, на которой разворачивается NAICE, должен быть задан статически!

Для разворачивания 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 



При установке на ОС Astra Linux версии 1.8.2 и выше с установленным обновлением БЮЛЛЕТЕНЬ № 2024-1108SE17MD необходимо отключить контроль разрешения исполнения кода в программном стеке в соответствии с инструкцией Нарушение работы некоторых программ после установки оперативного обновления Astra Linux Special Edition 1.7.6 ! В противном случае запуск ПО NAICE будет невозможен!

IP-адрес VM, на которой разворачивается NAICE, должен быть задан статически!

Для разворачивания 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. Это будет означать, что установка выполнена успешно.