
Preparing the VM for installation
The IP addresses of the VMs on which NAICE is deployed must be configured statically. |
To deploy the VM, it is required to install a set of packages available in the official repositories of the operating system in use. A local mirror of the official repository, deployed within an isolated network and accessible from the target machine, can be used to install these packages via a package manager such as APT (Ubuntu, Astra Linux) or YUM (RedOS). |
Deploy the VM in accordance with the requirements specified in section v1.1_3.1 System requirements.
Install the docker.io and docker-compose packages according to the official instructions: 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 |
|
Verify the installation and versions of Docker and Docker Compose (the versions must not be lower than the required ones): $ sudo docker --version
Docker version 29.2.1, build a5c7197
$ sudo docker compose version
Docker Compose version v5.1.0 |
|
Install additional packages and all required dependencies: sudo apt install sshpass python3-pip python3-psycopg2 python3-apt ansible -y |
|
The IP addresses of the VMs on which NAICE is deployed must be configured statically. |
To deploy the VM, it is required to install a set of packages available in the official Astra Linux repositories. A local mirror of the official repository, deployed within an isolated network and accessible from the target machine, can be used to install these packages via a package manager such as APT. |
Install packages from the official Astra Linux repository: sudo apt install docker.io python3-apt python3-psycopg2 python3-requests sshpass -y |
The Docker Compose plugin cannot be installed from the Astra Linux repository, as it contains an outdated version. It must be downloaded from the following link to the target host: https://cloud.eltex-co.ru/index.php/s/yKlAcy83VVPEfzx. If necessary, the file can be downloaded to any PC with Internet access to the website https://cloud.eltex-co.ru (using the link above) and then transferred to the target host using any available SCP client into the home directory of the user who will perform the installation. |
Example download using wget: wget https://cloud.eltex-co.ru/index.php/s/yKlAcy83VVPEfzx/download -O docker-compose-linux-x86_64 |
On the target host, create a directory: sudo mkdir -pv /usr/local/lib/docker/cli-plugins |
Place the downloaded file download into this directory and rename it to docker-compose: sudo mv -v docker-compose-linux-x86_64 /usr/local/lib/docker/cli-plugins/docker-compose |
Change the file owner to root: sudo chown root:root -v /usr/local/lib/docker/cli-plugins/docker-compose |
Make the file executable: sudo chmod 755 -v /usr/local/lib/docker/cli-plugins/docker-compose |
Verify the installation and versions of Docker and Docker Compose (the versions must not be lower than the required ones): $ 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 |
|
Download and install additional software required for proper Ansible operation during installation. Download the archive from the following link to the target host: https://cloud.eltex-co.ru/index.php/s/Y8m92XlasaCIyTX. If necessary, the file can be downloaded to any PC with Internet access to the website https://cloud.eltex-co.ru (using the link above) and then transferred to the target host using any available SCP client into the home directory of the user who will perform the installation. |
Example download using wget: wget https://cloud.eltex-co.ru/index.php/s/Y8m92XlasaCIyTX/download -O ansible_library_install_v2.tar.gz |
Download and transfer the archive to the host where NAICE will be installed using any convenient method, then extract it and navigate to the extracted directory: 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 |
|
Run the following script to install the required software: sudo bash install_ansible.sh |
As a result of running the script, the user performing the installation will switch to privileged “#” mode. All further installation steps must be performed in this mode. |
Verify that the following packages and dependencies have been installed: # 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 |
|
The IP addresses of the VMs on which NAICE is deployed must be configured statically. |
To deploy the VM, it is required to install a set of packages available in the official Astra Linux repositories. A local mirror of the official repository, deployed within an isolated network and accessible from the target machine, can be used to install these packages via a package manager such as APT. |
Install packages from the official Astra Linux repository along with all required dependencies: sudo apt install docker.io docker-compose-v2 ansible python3-psycopg2 python3-apt sshpass -y |
Verify the installation and versions of Docker and Docker Compose (the versions must not be lower than the required ones): $sudo docker --version
Docker version 28.3.3.astra1, build
$ sudo docker compose version
Docker Compose version 2.39.2.astra1 |
Verify the Ansible version $ 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 |
Install the community.docker Ansible collection version 4.7.0. To do this, download and place the file community-docker-4.7.0.tar.gz on the target host. Direct download link: https://cloud.eltex-co.ru/index.php/s/9Hv6p4yz611fDXb If necessary, the file can be downloaded to any PC with Internet access to the website https://cloud.eltex-co.ru (using the link above) and then transferred to the target host using any available SCP client into the home directory of the user who will perform the installation. |
You can download it to the target host using wget if access to https://cloud.eltex-co.ru is available: wget https://cloud.eltex-co.ru/index.php/s/9Hv6p4yz611fDXb/download -O community-docker-4.7.0.tar.gz |
Install the collection using the following command (without sudo): $ ansible-galaxy collection install community-docker-4.7.0.tar.gz |
Verify the installed collection version: $ ansible-galaxy collection list | grep community.docker
community.docker 4.7.0
community.docker 3.8.1 |
|
|
Install packages from the official RedOS repository along with all required dependencies: sudo yum install docker-ce docker-compose sshpass python3-pip python3-psycopg2 python3-requests ansible -y |
Verify the installation and versions of Docker and Docker Compose (the versions must not be lower than the required ones): $ sudo docker --version
Docker version 28.1.1, build 4eba377
$ sudo docker compose version
Docker Compose version 5.0.2 |
Verify the Ansible version Для ОС 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 |
|
Install the community.docker Ansible collection version 4.7.0. To do this, download and place the file community-docker-4.7.0.tar.gz on the target host. Direct download link: https://cloud.eltex-co.ru/index.php/s/9Hv6p4yz611fDXb If necessary, the file can be downloaded to any PC with Internet access to the website https://cloud.eltex-co.ru (using the link above) and then transferred to the target host using any available SCP client into the home directory of the user who will perform the installation. |
You can download it to the target host using wget if access to https://cloud.eltex-co.ru is available: wget https://cloud.eltex-co.ru/index.php/s/9Hv6p4yz611fDXb/download -O community-docker-4.7.0.tar.gz |
Install the collection using the following command (without sudo): $ ansible-galaxy collection install community-docker-4.7.0.tar.gz |
Verify the installed collection version: For RedOS 7.3.X
$ ansible-galaxy collection list | grep community.docker
community.docker 4.7.0
community.docker 2.7.3
For RedOS 8.0.X
$ ansible-galaxy collection list | grep community.docker
community.docker 4.7.0
community.docker 3.7.0 |
|
NAICE installation
During a stand-alone offline installation, all actions are performed on the same host where NAICE will be deployed, and no separate VM is required. |
Upload the archive provided below to the target host. The archive contains all required playbooks and images.
Download the latest stable version of NAICE for deployment in an isolated network from the v1.1_1.5 Stable versions
If necessary, the file can be downloaded to any PC with Internet access to the website https://cloud.eltex-co.ru (using the link above) and then transferred to the target host using any available SCP client into the home directory of the user who will perform the installation. |
You can download it to the target host using wget if access to https://cloud.eltex-co.ru is available:
wget https://cloud.eltex-co.ru/index.php/s/KnrQ1cXuZsabGYh/download -O naice_install_2026-03-27.tar.gz |
Extract the archive on the target host and navigate to the ansible directory inside the extracted folder:
tar xzvf naice_install_2026-03-27.tar.gz
cd naice_install/ansible |
In the inventory/hosts.yml file, specify the following:
In the ansible_host variable, specify the IP address or domain name that will be used to access the NAICE GUI. This address (or name) must be configured on the target host. |
---
common:
hosts:
common_host:
ansible_host: <NAICE host IP address or domain name>
ansible_user: <username>
ansible_ssh_pass: <user password>
ansible_become_pass: <privilege escalation password (sudo)> |
If necessary, configure playbook variables in the group_vars/all.yml file. Variable preparation is the same as for online installation and is performed in the same way. For more details on variable descriptions, refer to: v1.1_3.2 Installation using Ansible playbooks (stand-alone) → Configuring variables in the file group_vars/all.yml
Run the NAICE installation playbook:
ansible-playbook install-naice.yml -i inventory/hosts.yml |
The installation process will start. As a result, the NAICE service will be installed. Make sure the installation completes without errors.
Example of successful installation completion:
PLAY RECAP **********************************************************************************************************************************************************************************************************************************
common_host : ok=110 changed=34 unreachable=0 failed=0 skipped=47 rescued=0 ignored=0 |
Next, verify the status of the services. To do this, navigate to the NAICE installation directory (default: /etc/docker-naice) and run the following command:
cd /etc/docker-naice/
sudo docker compose ps -a |
Result (example shown for Ubuntu 24.04 LTS; may differ depending on the Docker Compose version):
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 |
All containers must be running and have the healthy status. This indicates that the installation was completed successfully.