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

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

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

Установить пакеты docker.io и python3-apt из официального репозитория Astra Linux:

sudo apt install docker.io python3-apt python3-psycopg2 sshpass -y

Дополнение docker compose нельзя установить из репозитория Astra Linux т.к. там находиться старая версия. Требуется загрузить его с нашего сайта по ссылке https://cloud.eltex-co.ru/index.php/s/yKlAcy83VVPEfzx  на целевой хост.

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 в ходе установки.

Для установки дополнительного ПО потребуется доступ в к сайту Astra Linux download.astralinux.ru с целевого хоста или локальному клону данного репозитория.

Скачать файл с дополнительным ПО:

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

Необходимые версии Python и Ansible можно установить при помощи приложенного к инструкции архива  "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

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

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

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

wget https://cloud.eltex-co.ru/index.php/s/Delx2fZOgs0r74i/download -O naice_install_2025-08-06.tar.gz

Проверить значение контрольной суммы архива:

$ sha256sum naice_install_2025-08-06.tar.gz
be9bd9aca2dc93c7d376d577c4097f68f36b974d5b05d38de1747b0af24245a4  naice_install_2025-08-06.tar.gz

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

tar xzvf naice_install_2025-08-06.tar.gz
cd naice_install/ansible

В файле inventory/hosts.yml указать:

---
common:
  hosts:
    common_host:
      ansible_host: <IP-адрес или доменное имя хоста для NAICE>      
      ansible_user: <логин пользователя>
      ansible_ssh_pass: <пароль пользователя>
      ansible_become_pass: <пароль для повышения привилегий (sudo)>

При необходимости выполнить настройку переменных плейбука. Подготовка переменных не отличается от онлайн установки и выполняется аналогичным способом. 

Выполните плейбук для установки 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
084da5b96235   naice-release.registry.eltex.loc/naice-web:0.9                  "/docker-entrypoint.…"   About a minute ago   Up 10 seconds (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
d2358c3ffe8c   naice-release.registry.eltex.loc/naice-gavia:0.9                "java -cp @/app/jib-…"   About a minute ago   Up 21 seconds (healthy)       0.0.0.0:8080->8080/tcp, :::8080->8080/tcp                                                                                                                                    naice-gavia
730a31fc42d5   naice-release.registry.eltex.loc/naice-gulo:0.9                 "java -cp @/app/jib-…"   About a minute ago   Up 53 seconds (healthy)       0.0.0.0:8089-8090->8089-8090/tcp, :::8089-8090->8089-8090/tcp                                                                                                                naice-gulo
d57d3267338e   naice-release.registry.eltex.loc/naice-aquila:0.9               "java -cp @/app/jib-…"   About a minute ago   Up 53 seconds (healthy)       0.0.0.0:49->49/tcp, :::49->49/tcp, 0.0.0.0:5703->5703/tcp, :::5703->5703/tcp, 0.0.0.0:8091-8092->8091-8092/tcp, :::8091-8092->8091-8092/tcp                                  naice-aquila
be7b3906c818   naice-release.registry.eltex.loc/naice-lemmus:0.9               "java -cp @/app/jib-…"   About a minute ago   Up 53 seconds (healthy)       0.0.0.0:8083->8083/tcp, :::8083->8083/tcp                                                                                                                                    naice-lemmus
0c7ae56ad780   naice-release.registry.eltex.loc/naice-ovis:0.9                 "java -cp @/app/jib-…"   About a minute ago   Up 53 seconds (healthy)       0.0.0.0:5701->5701/tcp, :::5701->5701/tcp, 0.0.0.0:8084-8085->8084-8085/tcp, :::8084-8085->8084-8085/tcp                                                                     naice-ovis
fbb8ed8a8226   naice-release.registry.eltex.loc/naice-vulpus:0.9               "java -cp @/app/jib-…"   About a minute ago   Up 53 seconds (healthy)       0.0.0.0:5702->5702/tcp, :::5702->5702/tcp, 0.0.0.0:8086->8086/tcp, :::8086->8086/tcp, 0.0.0.0:8088->8088/tcp, :::8088->8088/tcp                                              naice-vulpus
24230a6344ec   naice-release.registry.eltex.loc/naice-lepus:0.9                "java -cp @/app/jib-…"   About a minute ago   Up About a minute (healthy)   0.0.0.0:8087->8087/tcp, :::8087->8087/tcp, 0.0.0.0:67->1024/udp, :::67->1024/udp                                                                                             naice-lepus
2aa8a4981bf8   naice-release.registry.eltex.loc/naice-ursus:0.9                "java -cp @/app/jib-…"   About a minute ago   Up About a minute (healthy)   0.0.0.0:8081-8082->8081-8082/tcp, :::8081-8082->8081-8082/tcp                                                                                                                naice-ursus
28bafb98faa1   naice-build-hosted.registry.eltex.loc/naice/nats:0.7.1          "docker-entrypoint.s…"   About a minute ago   Up About a minute (healthy)   0.0.0.0:4222->4222/tcp, :::4222->4222/tcp, 0.0.0.0:6222->6222/tcp, :::6222->6222/tcp, 0.0.0.0:7777->7777/tcp, :::7777->7777/tcp, 0.0.0.0:8222->8222/tcp, :::8222->8222/tcp   naice-nats
88a54728dbf1   naice-release.registry.eltex.loc/naice-radius:0.9               "/docker-entrypoint.…"   About a minute ago   Up About a minute (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
277ef32c2295   naice-build-hosted.registry.eltex.loc/naice/epg-service:1.0-1   "/bin/sh -e /usr/loc…"   About a minute ago   Up About a minute (healthy)   0.0.0.0:8100->8100/tcp, :::8100->8100/tcp                                                                                                                                    epg-service
1e781b75c09f   naice-build-hosted.registry.eltex.loc/naice/postgres:0.9.2      "docker-entrypoint.s…"   2 minutes ago        Up About a minute (healthy)   0.0.0.0:5432->5432/tcp, :::5432->5432/tcp                                                                                                                                    naice-postgres

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

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