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

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


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

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

Развернуть VM в соответствии с v1.0_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 28.3.3, build 980b856
$ sudo docker compose version
Docker Compose version v2.39.1


Установить пакеты и все необходимые зависимости:

sudo apt install sshpass python3-pip python3-psycopg2 python3-apt ansible -y


Установка 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=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

Результат:

$ cd /etc/docker-naice/
tester@testvm-ub24:/etc/docker-naice# docker compose ps -a
NAME             IMAGE                                                           COMMAND                  SERVICE         CREATED          STATUS                    PORTS
epg-service      naice-build-hosted.registry.eltex.loc/naice/epg-service:1.1-2   "/bin/sh -e /usr/loc…"   epg-service     18 minutes ago   Up 18 minutes (healthy)   0.0.0.0:8100->8100/tcp, [::]:8100->8100/tcp
naice-aquila     naice-release.registry.eltex.loc/naice-aquila:1.0               "java -cp @/app/jib-…"   naice-aquila    18 minutes ago   Up 16 minutes (healthy)   0.0.0.0:49->49/tcp, [::]:49->49/tcp, 0.0.0.0:8091->8091/tcp, [::]:8091->8091/tcp
naice-bubo       naice-release.registry.eltex.loc/naice-bubo:1.0                 "java -cp @/app/jib-…"   naice-bubo      18 minutes ago   Up 16 minutes (healthy)   0.0.0.0:8093->8093/tcp, [::]:8093->8093/tcp
naice-castor     naice-release.registry.eltex.loc/naice-castor:1.0               "java -Djava.awt.hea…"   naice-castor    18 minutes ago   Up 16 minutes (healthy)   0.0.0.0:8095->8095/tcp, [::]:8095->8095/tcp
naice-gavia      naice-release.registry.eltex.loc/naice-gavia:1.0                "java -cp @/app/jib-…"   naice-gavia     18 minutes ago   Up 15 minutes (healthy)   0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp
naice-gulo       naice-release.registry.eltex.loc/naice-gulo:1.0                 "java -cp @/app/jib-…"   naice-gulo      18 minutes ago   Up 16 minutes (healthy)   0.0.0.0:8089->8089/tcp, [::]:8089->8089/tcp
naice-lemmus     naice-release.registry.eltex.loc/naice-lemmus:1.0               "java -cp @/app/jib-…"   naice-lemmus    18 minutes ago   Up 16 minutes (healthy)   0.0.0.0:8083->8083/tcp, [::]:8083->8083/tcp
naice-lepus      naice-release.registry.eltex.loc/naice-lepus:1.0                "java -cp @/app/jib-…"   naice-lepus     18 minutes ago   Up 17 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.0              "java -cp @/app/jib-…"   naice-mustela   18 minutes ago   Up 16 minutes (healthy)   0.0.0.0:8070->8070/tcp, [::]:8070->8070/tcp
naice-nats       naice-build-hosted.registry.eltex.loc/naice/nats:0.7.1          "docker-entrypoint.s…"   nats            18 minutes ago   Up 18 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.0                 "java -cp @/app/jib-…"   naice-ovis      18 minutes ago   Up 16 minutes (healthy)   0.0.0.0:8084->8084/tcp, [::]:8084->8084/tcp
naice-postgres   naice-build-hosted.registry.eltex.loc/naice/postgres:1.0.6      "docker-entrypoint.s…"   postgres        18 minutes ago   Up 18 minutes (healthy)   5432/tcp
naice-radius     naice-release.registry.eltex.loc/naice-radius:1.0               "/docker-entrypoint.…"   naice-radius    18 minutes ago   Up 18 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.0               "/docker-entrypoint.…"   naice-sterna    18 minutes ago   Up 15 minutes (healthy)   80/tcp, 0.0.0.0:8443->444/tcp, [::]:8443->444/tcp
naice-ursus      naice-release.registry.eltex.loc/naice-ursus:1.0                "java -cp @/app/jib-…"   naice-ursus     18 minutes ago   Up 17 minutes (healthy)   0.0.0.0:8081->8081/tcp, [::]:8081->8081/tcp
naice-vulpus     naice-release.registry.eltex.loc/naice-vulpus:1.0               "java -cp @/app/jib-…"   naice-vulpus    18 minutes ago   Up 16 minutes (healthy)   0.0.0.0:8086->8086/tcp, [::]:8086->8086/tcp
naice-web        naice-release.registry.eltex.loc/naice-web:1.0                  "/docker-entrypoint.…"   naice-web       18 minutes ago   Up 14 minutes (healthy)   80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:80->4200/tcp, [::]:80->4200/tcp
tester@testvm-ub24:/etc/docker-naice# 

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

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