Подготовка VM для установки

Развернуть VM в соответствии с v1.0_3.1 Системные требования.

Для разворачивания VM требуется установить ряд пакетов содержащихся в официальных репозиториях используемой ОС.

Для установки таких пакетов может использоваться локальное зеркало официального репозитория, размещенное в закрытом контуре и доступное для установки на  целевую машину с помощью пакетного менеджера APT.

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

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

Установить пакеты docker.io и python3-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 24.0.2, build a5cfe9cc8c
$ 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/jg8nXl9YLNlVY0R на целевой хост.

При необходимости файл можно загрузить на любой ПК, с которого есть доступ через сеть Интернет к сайту https://cloud.eltex-co.ru по ссылке выше и выполнить его перенос на целевой хост установки любым доступным SCP-менеджером в домашнюю директорию пользователя, из под которого будет выполняться установка.

Пример загрузки файла с использованием утилиты wget:

wget https://cloud.eltex-co.ru/index.php/s/jg8nXl9YLNlVY0R/download -O ansible_library_install.tar.gz

Скачать и переместить архив на хост на котором будет производиться установка NAICE любым удобным способом, затем разархивировать его и перейти в полученную директорию:

tar xvzf ansible_library_install.tar.gz
cd ansible-install
wget https://cloud.eltex-co.ru/index.php/s/jg8nXl9YLNlVY0R/download -O ansible_library_install.tar.gz && \
tar xvzf ansible_library_install.tar.gz && \
cd ansible-install


Далее необходимо выполнить следующий скрипт для установки необходимого ПО:

sudo bash install_ansible.sh

В результате выполнения скрипта на хосте установки NAICE должно быть установлено следующее ПО: 

sshpass
python3 версии 3.11
python3-pip
python3-psycopg2
python3-apt
ansible версии 2.17
ansible-galaxy collection install community.docker
docker и docker compose

Установка NAICE

Для выполнения однохостовой установки оффлайн все действия выполняются на том же хосте, где планируется развернуть NAICE и не требуют отдельной VM!

Необходимо загрузить на конечный хост архив представленный ниже. Архив содержит все необходимые плейбуки и образы.

Прямая ссылка на скачивание архива: https://cloud.eltex-co.ru/index.php/s/B8XthRBYSqupfDE

При необходимости архив можно загрузить на любой ПК, с которого есть доступ через сеть Интернет к сайту https://cloud.eltex-co.ru по ссылке выше и выполнить его перенос на целевой хост установки любым доступным SCP-менеджером в домашнюю директорию пользователя, из под которого будет выполняться установка.

Можно скачать командой wget на целевой хост, если открыть доступ к адресу https://cloud.eltex-co.ru:

wget https://cloud.eltex-co.ru/index.php/s/B8XthRBYSqupfDE/download -O naice_install_2025-11-14.tar.gz

Распаковать на целевом хосте полученный архив и перейти в директорию ansible внутри полученной директории

tar xzvf naice_install_2025-11-14.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=143  changed=50   unreachable=0    failed=0    skipped=58   rescued=0    ignored=1  

Проверить состояние сервиса можно проверить. Для этого перейти в директорию установки NAICE (по умолчанию /etc/docker-naice) и проверить состояние командой:

cd /etc/docker-naice/
sudo docker compose ps -a

Результат:

root@alse:/home/tester/naice_install/ansible# docker ps -a
CONTAINER ID   IMAGE                                                           COMMAND                  CREATED          STATUS                    PORTS                                                                                                          NAMES
7460d70c1aff   naice-release.registry.eltex.loc/naice-web:1.0                  "/docker-entrypoint.…"   20 minutes ago   Up 16 minutes (healthy)   80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:80->4200/tcp, [::]:80->4200/tcp                       naice-web
ceeb87ce7f69   naice-release.registry.eltex.loc/naice-gavia:1.0                "java -cp @/app/jib-…"   20 minutes ago   Up 17 minutes (healthy)   0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp                                                                    naice-gavia
fd9ddc73919d   naice-release.registry.eltex.loc/naice-sterna:1.0               "/docker-entrypoint.…"   20 minutes ago   Up 17 minutes (healthy)   80/tcp, 0.0.0.0:8443->444/tcp, [::]:8443->444/tcp                                                              naice-sterna
1e2169101a0e   naice-release.registry.eltex.loc/naice-lemmus:1.0               "java -cp @/app/jib-…"   20 minutes ago   Up 18 minutes (healthy)   0.0.0.0:8083->8083/tcp, [::]:8083->8083/tcp                                                                    naice-lemmus
8837bfed4996   naice-release.registry.eltex.loc/naice-castor:1.0               "java -Djava.awt.hea…"   20 minutes ago   Up 18 minutes (healthy)   0.0.0.0:8095->8095/tcp, [::]:8095->8095/tcp                                                                    naice-castor
233a38ff95ea   naice-release.registry.eltex.loc/naice-aquila:1.0               "java -cp @/app/jib-…"   20 minutes ago   Up 18 minutes (healthy)   0.0.0.0:49->49/tcp, [::]:49->49/tcp, 0.0.0.0:8091->8091/tcp, [::]:8091->8091/tcp                               naice-aquila
c888594e4174   naice-release.registry.eltex.loc/naice-ovis:1.0                 "java -cp @/app/jib-…"   20 minutes ago   Up 18 minutes (healthy)   0.0.0.0:8084->8084/tcp, [::]:8084->8084/tcp                                                                    naice-ovis
7c297f0d4669   naice-release.registry.eltex.loc/naice-vulpus:1.0               "java -cp @/app/jib-…"   20 minutes ago   Up 18 minutes (healthy)   0.0.0.0:8086->8086/tcp, [::]:8086->8086/tcp                                                                    naice-vulpus
db77b248b149   naice-release.registry.eltex.loc/naice-gulo:1.0                 "java -cp @/app/jib-…"   20 minutes ago   Up 18 minutes (healthy)   0.0.0.0:8089->8089/tcp, [::]:8089->8089/tcp                                                                    naice-gulo
eb3cf2d73deb   naice-release.registry.eltex.loc/naice-mustela:1.0              "java -cp @/app/jib-…"   20 minutes ago   Up 18 minutes (healthy)   0.0.0.0:8070->8070/tcp, [::]:8070->8070/tcp                                                                    naice-mustela
daf72ad67c9a   naice-release.registry.eltex.loc/naice-bubo:1.0                 "java -cp @/app/jib-…"   20 minutes ago   Up 18 minutes (healthy)   0.0.0.0:8093->8093/tcp, [::]:8093->8093/tcp                                                                    naice-bubo
14e50fefe186   naice-release.registry.eltex.loc/naice-lepus:1.0                "java -cp @/app/jib-…"   20 minutes ago   Up 19 minutes (healthy)   0.0.0.0:8087->8087/tcp, [::]:8087->8087/tcp, 0.0.0.0:67->1024/udp, [::]:67->1024/udp                           naice-lepus
0dbb4a7c4eea   naice-release.registry.eltex.loc/naice-ursus:1.0                "java -cp @/app/jib-…"   20 minutes ago   Up 19 minutes (healthy)   0.0.0.0:8081->8081/tcp, [::]:8081->8081/tcp                                                                    naice-ursus
99adf854bbc1   naice-release.registry.eltex.loc/naice-radius:1.0               "/docker-entrypoint.…"   20 minutes ago   Up 19 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-radius
32455919efe7   naice-build-hosted.registry.eltex.loc/naice/nats:0.7.1          "docker-entrypoint.s…"   20 minutes ago   Up 19 minutes (healthy)   4222/tcp, 6222/tcp, 7777/tcp, 0.0.0.0:8222->8222/tcp, [::]:8222->8222/tcp                                      naice-nats
b0b9686e2ad4   naice-build-hosted.registry.eltex.loc/naice/epg-service:1.1-2   "/bin/sh -e /usr/loc…"   20 minutes ago   Up 19 minutes (healthy)   0.0.0.0:8100->8100/tcp, [::]:8100->8100/tcp                                                                    epg-service
85a0c445f03d   naice-build-hosted.registry.eltex.loc/naice/postgres:1.0.6      "docker-entrypoint.s…"   20 minutes ago   Up 19 minutes (healthy)   5432/tcp                                                                                                       naice-postgres

Все контейнеры должны быть запущены и находиться в состоянии healthy.

На этом можно считать установку выполненной.