General description

The NAICE system is distributed as container images intended for deployment using the Docker containerization and application management platform. All system components are managed using the Docker Compose plugin, which is designed for orchestrating multi-container applications.

Ansible playbooks are used to automate the installation process.

Installation

Below is the procedure for performing a single-host installation.

Instructions for deploying NAICE in a high-availability configuration are provided in v1.1_3.3 High-availability installation (using VRRP) and v1.1_3.4 High-availability installation (without using VRRP).

Both online and offline installation are available.

Online installation is supported on all supported operating systems and is described below. 

Offline installation (isolated network) is described in section v1.1_3.2.1 Installation in an isolated network (stand-alone).

Installing Ansible

To run the playbooks, install Ansible on a host that has SSH access to the target host.

The recommended operating system for the playbook execution host is Ubuntu 24.04.

The minimum Ansible version required for the installation playbooks to work correctly is 2.16.3.

For successful installation on Astra Linux 1.7.5 / 1.7.6, Ansible version 2.17.12 or earlier is required.

Official Ansible installation documentation is available online.

Install Ansible and the sshpass utility (required for the playbooks to function correctly) on the host from which the Ansible playbooks will be executed using the apt package manager:

sudo apt install ansible sshpass -y

Install community.docker Ansible collection version 4.7.0. To do this, download and place the file community-docker-4.7.0.tar.gz.

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                         X.X.X 

Obtaining files for running the playbook 

NAICE is a licensed product; activating its functionality requires a valid license. See v1.1_2. Licensing for details.

At the time of installation, the license is not required, the product can be installed without activation.

Until a license is activated, NAICE operates in demo mode, in which the maximum number of network devices, active endpoints, and active guest endpoints is limited to 15 each.

To deploy the system in online mode, download the latest version archive from the v1.2_1.5 Stable versions page and place it on the host from which the playbook will be executed.

wget https://cloud.eltex-co.ru/index.php/s/vQdCi5UP1Abiv69/download -O ansibleNaice-v1.2-2026-06-26.tar.gz

Extract the archive:

tar xzvf ansibleNaice-v1.2-2026-06-26.tar.gz

Go to the playbook directory:

cd ansibleNaice-v1.2-2026-06-26

Configuring access to target hosts for installation

Using login/password authentication

To configure the host on which NAICE will be deployed, edit the file: inventory/hosts.yml. In the variable ansible_host, specify the IP address or domain name of the target host, as well as the username, password, and sudo password:

---
common:
  hosts:
    # Host for performing a stand-alone NAICE installation
    common_host:
      ansible_host: <IP address or domain name of the NAICE host> 
      ansible_user: <username>
      ansible_ssh_pass: <user password>
      ansible_become_pass: <sudo password>

The specified IP address or domain name will be added to the Subject Alternative Name (SAN) field when generating a self-signed certificate during NAICE service installation.

Using SSH key authentication

By default, login/password authentication is assumed. If SSH key authentication is used (the key must be generated and placed on the target host beforehand), update ansible.cfg:

[defaults]
inventory = hosts.yml
host_key_checking = True
private_key_file = <path to the SSH key file>
deprecation_warnings = False

Then specify access parameters in hosts.yml:

---
common:
  hosts:
    common_host:
      ansible_host: <IP address or domain name of the NAICE host>
      ansible_user: <username>
      ansible_become_pass: <sudo password>
Verifying access configuration

To verify the correctness of the configured access parameters and check connectivity to the remote host, run:

ansible all --list-hosts  # check the list of hosts
ansible all -m ping       # check access to hosts

Example output when access is configured correctly:

common_host | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    },
    "changed": false,
    "ping": "pong"
}

Configuring variables in the file group_vars/all.yml

Variable settings are defined in the file group_vars/all.yml and are used for configuring system services. The system will operate correctly when using the default variable values. Below are the most commonly used configuration variables.

Configuring the time zone (TZ)

To ensure correct time display in NAICE, the following parameter must be set in the group_vars/all.yml configuration file.

Variable format:

time_zone: "Region/City"

Examples:
time_zone: "Europe/Moscow"

or:
time_zone: "Asia/Novosibirsk"

Other variables (optional)

If necessary, modify additional environment variables in group_vars/all.yml. For example, you can change the NAICE service installation directory or specify an external NAICE address different from the management address.

Configuring Docker networks

NAICE services use three Docker networks:

The variables used to configure the Docker networks are located in the group_vars/networks.yml file. This file defines the subnet, IP address range, and gateway for each network.

Example contents of the group_vars/networks.yml file:


---
# Variables for Docker network configuration
docker_network_unmasked:
  subnet: "172.18.0.0/20"
  ip_range: "172.18.8.0/21"
  gateway: "172.18.0.1"
 
docker_network_external:
  subnet: "172.20.0.0/20"
  ip_range: "172.20.8.0/21"
  gateway: "172.20.0.1"
 
docker_network_internal:
  subnet: "172.21.0.0/20"
  ip_range: "172.21.8.0/21"
  gateway: "172.21.0.1"

The example above shows the default values. If these networks overlap with existing networks in your infrastructure, update the network settings in the group_vars/networks.yml file before installing NAICE.

Docker subnets cannot be changed after NAICE has been installed by simply modifying the variables and rerunning the playbook. If you need to change the Docker subnets after installation, follow the instructions in v1.2_3.15 Changing Docker networks.

NAICE installation

For deploying NAICE services in a single-host installation, use the playbook install-naice.yml.

Run the install-naice.yml playbook to install the Docker containerization service, the Docker Compose plugin, and to start NAICE services via this plugin:

ansible-playbook install-naice.yml

During the installation of NAICE services, a self-signed certificate is automatically generated for the user interfaces lemmus, gavia, and larus. If you have your own trusted certificate, it can be installed after the services are deployed, replacing the default self-signed certificate. Detailed information on using security certificates can be found in the v1.1_3.6 Using security certificates section.

Because NAICE uses healthcheck mechanisms to verify successful startup, initializing the containers may take several minutes. Wait until the playbook execution is fully completed.

Checking service status after installation

To check whether the containers have started successfully, navigate to the NAICE installation directory (default: /etc/docker-naice/) and run the following command to view the list and status of containers: docker compose ps -a.

The example is shown for Ubuntu 24.04 LTS and may differ on other operating systems depending on the installed version of docker compose:

$ sudo docker compose ps -a
NAME             IMAGE                                                               COMMAND                  SERVICE         CREATED              STATUS                        PORTS
epg-service      naice-build-hosted.registry.eltex.loc/naice/epg-service:1.3-2       "/bin/sh -e /usr/loc…"   epg-service     6 minutes ago        Up 5 minutes (healthy)        
naice-aquila     naice-release.registry.eltex.loc/naice-aquila:1.2                   "java -cp @/app/jib-…"   naice-aquila    About a minute ago   Up About a minute (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.2                     "java -cp @/app/jib-…"   naice-bubo      5 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.2                   "java -Djava.awt.hea…"   naice-castor    5 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.2                    "java -cp @/app/jib-…"   naice-cetus     5 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.2                    "java -cp @/app/jib-…"   naice-gavia     5 minutes ago        Up About a minute (healthy)   0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp
naice-gulo       naice-release.registry.eltex.loc/naice-gulo:1.2                     "java -cp @/app/jib-…"   naice-gulo      5 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.2                   "java -cp @/app/jib-…"   naice-lemmus    5 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.2                    "java -cp @/app/jib-…"   naice-lepus     5 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.2                  "java -cp @/app/jib-…"   naice-mustela   5 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.2.2              "docker-entrypoint.s…"   nats            6 minutes ago        Up 5 minutes (healthy)        4222/tcp, 6222/tcp, 7777/tcp, 8222/tcp
naice-ovis       naice-release.registry.eltex.loc/naice-ovis:1.2                     "java -cp @/app/jib-…"   naice-ovis      5 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.2                    "java -cp @/app/jib-…"   naice-phoca     6 minutes ago        Up 5 minutes (healthy)        0.0.0.0:8097->8097/tcp, [::]:8097->8097/tcp
naice-postgres   naice-build-hosted.registry.eltex.loc/naice/postgres-repmgr:1.2.2   "/opt/bitnami/script…"   postgres        7 minutes ago        Up 5 minutes (healthy)        127.0.0.1:5432->5432/tcp, 127.0.0.1:15432->22/tcp
naice-radius     naice-release.registry.eltex.loc/naice-radius:1.2                   "/docker-entrypoint.…"   naice-radius    4 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.2                   "/docker-entrypoint.…"   naice-sterna    About a minute ago   Up About a minute (healthy)   0.0.0.0:32888->80/tcp, [::]:32888->80/tcp, 0.0.0.0:8443->444/tcp, [::]:8443->444/tcp
naice-ursus      naice-release.registry.eltex.loc/naice-ursus:1.2                    "java -cp @/app/jib-…"   naice-ursus     5 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.2                   "java -cp @/app/jib-…"   naice-vulpus    5 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.2                      "/docker-entrypoint.…"   naice-web       About a minute ago   Up 59 seconds (healthy)       0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:32889->80/tcp, [::]:32889->80/tcp, 0.0.0.0:80->4200/tcp, [::]:80->4200/tcp

Appendices

Appendix A. Environment variable in the .env file and Ansible playbook variables

Legend:

  • (предупреждение) - not recommended for editing.
  • (информация) - hint.
Environment variable (.env)Ansible variable (group_vars/all.yml)Default valueDescription

Distribution variables (предупреждение)

nooffline_installfalseFlag indicating installation in an isolated environment. When installing in an isolated environment, a separate archive must be downloaded. Do not change this value when using the online installation playbooks!
nonaice_addressansible_hostTarget IP address or DNS hostname. Taken from the ansible_host variable value. Only needs to be changed if the IP address for web GUI access differs from the installation address!
nonaice_docker_path/etc/docker-naiceTarget installation directory
nonaice_docker_imagesnot setUsed during installation in an isolated environment. When installing in an isolated environment, a separate archive must be downloaded. Do not change this value when using the online installation playbooks!
nodocker_compose_download_urlhttps://cloud.eltex-co.ru/index.php/s/yKlAcy83VVPEfzx/downloadDownload URL for the docker compose plugin when installing on Astra Linux 1.7.X. (предупреждение)
noip_has_been_changedfalseFlag indicating that the host IP address has been changed after installation. Used to update the IP address when re-running the installation playbook.
noskip_docker_installationfalseSkip Docker services installation. Used during installation in an isolated environment. When installing in an isolated environment, a separate archive must be downloaded. Do not change this value when using the online installation playbooks!
BACKEND_VERSION_TAGversion_tag1.2Backend services version (naice-gavia, naice-lemmus, naice-ovis, naice-ursus). (предупреждение)
FRONTEND_VERSION_TAGversion_tag1.2Frontend service version (naice-web, known as larus). (предупреждение)
POSTGRES_VERSION_TAGpostgres_version_tag1.2.2Containerized postgres DB image version. (предупреждение)
RADIUS_VERSION_TAGradius_version_tag1.2Containerized FreeRadius image version. (предупреждение)
NATS_VERSION_TAGnats_version_tag1.2.2Containerized NATS image version. (предупреждение)
ELTEX_HUBELTEX_HUBhub.eltex-co.ru/naiceExternal repository with stable software build versions. (предупреждение)
BACKEND_HUBELTEX_HUBELTEX_HUBVariable storing the currently selected repository for downloading backend services. (предупреждение)
FRONTEND_HUBELTEX_HUBELTEX_HUBVariable storing the currently selected repository for downloading the frontend service. (предупреждение)
RADIUS_HUBELTEX_HUBELTEX_HUBVariable storing the currently selected repository for downloading the FreeRADIUS container. (предупреждение)
CI_HUBCI_HUBhub.eltex-co.ruExternal repository for supporting product builds (PostgreSQL). (предупреждение)
TZtime_zoneEtc/UTCTimezone value variable for the NAICE deployment. Affects system log timestamps.
NAICE_HOSTNAMEnoTaken from /etc/hostname during ansible playbook installationHostname of the system where NAICE is deployed. Required for licensing. Changing it after license activation is prohibited.
naice_node_ipnaice_node_ipIP address, by default taken from theansible_hostvariableNode IP address that corresponds to the {{ ansible_host }} variable value if it contains an IP, or obtained via DNS resolution of {{ ansible_host }} if a domain name is used.
Gavia variables
GAVIA_HOST_PORTgavia_host_port8080Port to which the service container port is forwarded on the host machine. Used for interacting with the service. (предупреждение)
LEMMUS_GAVIA_POSTGRES_USERNAMElemmus_gavia_postgres_usernamelemmusLogin for accessing the database. lemmus. (предупреждение)
LEMMUS_GAVIA_POSTGRES_PASSWORDlemmus_gavia_postgres_passwordlemmusPassword for accessing the database. lemmus. (предупреждение)
Ursus variables
URSUS_HOST_PORTursus_host_port8081Port to which the service container port is forwarded on the host machine. Used for interacting with the service. (предупреждение)
URSUS_POSTGRES_USERNAMEursus_postgres_usernameursusUser for service access to the PostgreSQL database. (предупреждение)
URSUS_POSTGRES_PASSWORDursus_postgres_passwordursusUser password for service access to the PostgreSQL database. (предупреждение)
URSUS_OUI_UPDATE_TIME_Sursus_update_oui_time86400Frequency of updating the MAC OUI list, s.
URSUS_OUI_UPDATEursus_upload_oui_csvTrueEnable/disable MAC OUI list update.
URSUS_OUI_UPLOAD_FILE_URLursus_upload_csv_oui_urlhttps://standards-oui.ieee.org/oui/oui.csvURL of the MAC OUI list used for updates.
URSUS_PORTAL_USER_PASSWORD_LENGTHursus_portal_user_password_length4Minimum password length that can be set for a portal user.
URSUS_IDENTITY_PASSWORD_LENGTHursus_identity_password_length8Minimum network user password length.
URSUS_NETLOGON_CHANGE_COMPUTER_PASS_CRONursus_netlogon_change_pass_cron-Domain computer password rotation interval setting (0 10 2 1-31/7 * * – every seventh day from 1st to 31st at 2:10).
noursus_netlogon_change_pass_cron_node1-Domain computer password rotation interval setting for high-availability deployment on node 1.
noursus_netlogon_change_pass_cron_node2-Domain computer password rotation interval setting for high-availability deployment on node 2.
URSUS_NETLOGON_CHANGE_COMPUTER_PASS_LENGTHursus_netlogon_change_pass_length12Generated domain computer password length during rotation: from 12 to 200 characters.
Lemmus variables
LEMMUS_HOST_PORTlemmus_host_port8083Port to which the service container port is forwarded on the host machine. Used for interacting with the service. (предупреждение)
LEMMUS_POSTGRES_USERNAMElemmus_postgres_usernamelemmusUser for service access to the PostgreSQL database. (предупреждение)
LEMMUS_POSTGRES_PASSWORDlemmus_postgres_passwordlemmusUser password for service access to the PostgreSQL database. (предупреждение)
LEMMUS_ACCESS_TTL_Slemmus_access_ttl_s3600Token lifetime in seconds.
LEMMUS_REFRESH_TTL_Slemmus_refresh_ttl_s7200Time in seconds during which the token can be refreshed.
LEMMUS_REDIRECTS_RULES
*:443,0.0.0.0/0:443Web interface access rules on first NAICE startup. Later configured in System settings → Security and Login → Login → Management Addresses.
PostgreSQL variables
nopostgres_hostnaice-postgresPostgreSQL database container name. (предупреждение)
nopostgres_port5432Port for connecting to the PostgreSQL database. (предупреждение)
POSTGRES_USERpostgres_userpostgresUser created during database installation and configuration. (предупреждение)
POSTGRES_PASSWORDpostgres_passwordpostgresUser password created during database installation and configuration. (предупреждение)
nopostgres_dbpostgresDefault database name used for managing the PostgreSQL database. (предупреждение)
PostgreSQL variables for high-availability deployment
nopostgres_reserved_host127.0.0.1Backup PostgreSQL node address.
nopostgres_reserved_port5432Backup PostgreSQL node port.
Ovis variables
OVIS_HOST_PORTovis_host_port8084Port to which the service container port is forwarded on the host machine. Used for interacting with the service. (предупреждение)
OVIS_CACHE_TTL_Sovis_cache_ttl_s86400naice-ovis cache lifetime in seconds, during which it stores authentication and authorization settings. After this time, settings are re-read.
OVIS_SESSION_IDLE_Sovis_session_idle_s86400Lifetime of inactive user sessions, s.
OVIS_URSUS_POSTGRES_USERNAMEovis_ursus_postgres_usernameovisLogin for connecting to the ursus database. (предупреждение)
OVIS_URSUS_POSTGRES_PASSWORDovis_ursus_postgres_passwordovisPassword for connecting to the ursus database. (предупреждение)
OVIS_OVIS_POSTGRES_USERNAMEovis_ovis_postgres_usernameovisLogin for connecting to the ovis database. (предупреждение)
OVIS_OVIS_POSTGRES_PASSWORDovis_ovis_postgres_passwordovisPassword for connecting to the ovis database. (предупреждение)
OVIS_NODE_INTERFACEhazelcast_node_interface{{ naice_address }}IP address/DNS name of the interface for communication with a neighboring instance in a high-availability deployment. (предупреждение)
OVIS_NODE_MEMBERShazelcast_node_members127.0.0.1IP addresses/DNS names of the instances participating in a high-availability deployment.
OVIS_SESSIONS_CLEAN_CRONovis_session_clean_cron0 0 * * * *Interval for running the radius session cleanup task from the database, by default every hour.
OVIS_SESSION_FLUSH_SECovis_session_flush_sec10Interval for radius session persistence from cache to the database, s.
OVIS_DB_POOL_CONNECTION_LIFETIMEovis_db_pool_connection_lifetime1800000Connection lifetime to the ursus database, s.
OVIS_DB_POOL_IDLE_TIMEOUTovis_db_pool_idle_timeout60000Response wait time when connecting to the ursus database, ms.
OVIS_DB_POOL_MIN_IDLEovis_db_pool_min_idle5Minimum number of connections for the ursus database in idle mode.
OVIS_DB_POOL_SIZEovis_db_pool_size10Number of connections for connecting to the ovis database.
OVIS_SESSIONS_DB_POOL_CONNECTION_LIFETIMEovis_sessions_db_pool_connection_lifetime1800000Connection lifetime to the ovis database, s.
OVIS_SESSIONS_DB_POOL_IDLE_TIMEOUTovis_sessions_db_pool_idle_timeout60000Response wait time when connecting to the ovis database, ms.
OVIS_SESSIONS_DB_POOL_MIN_IDLEovis_sessions_db_pool_min_idle2Minimum number of connections for the ovis database in idle mode.
OVIS_SESSIONS_DB_POOL_SIZEovis_sessions_db_pool_size5Number of connections for connecting to the ovis database.
OVIS_SESSION_BATCH_SIZEovis_session_batch_size100Number of sessions in a single batch for saving to the ovis database.
OVIS_RADIUS_CLASS_ATTR_ENABLEDovis_radius_class_attr_enabledtrueEnable/disable accounting processing for user active session limits: true – enable, false – disable.
Larus (web) variables
LARUS_PORTlarus_port4200Port on which the service runs inside the container. (предупреждение)
LARUS_HOST_PORTlarus_host_port80HTTP port to which the service container port is forwarded on the host machine. Used for interacting with the service. Used only to redirect user connections to the secure port 443. (предупреждение)
FRONTEND_STERNA_URLfrontend_sterna_urlhttps://{{ naice_address }}:{{ sterna_host_port }}URL where the Captive Portal runs. (предупреждение)
NATS variables
NATS_MONITORING_PORTnats_monitoring_port8222Port used for service monitoring. (предупреждение)
NATS_EXPORTER_PORTnats_exporter_port7777Port used by the service to expose metrics in Prometheus format. (предупреждение)
NATS_CLUSTER_PORTnats_cluster_port6222Port for NATS cluster communication (high-availability deployment). (предупреждение)
nonats_slave_address127.0.0.1

IP address used for NATS communication within the cluster.

NATS_REQUEST_REPLY_TIMEOUTnats_request_reply_timeout5Maximum wait time for a response from the client service to a sent nats event, s.
NATS_RECONNECT_WAITnats_reconnect_wait15Pause time between attempts to reconnect the client service to nats, s.
NATS_MAX_RECONNECTnats_max_reconnect30Maximum number of attempts to reconnect the client service to nats.
NATS_RECONNECT_BUFFER_SIZEnats_reconnect_buffer_size0Buffer size for outgoing messages during connection loss, sent after reconnection, in bytes. 0 means this buffer is disabled. When the non-zero value is exceeded, the client will start dropping messages.
Vulpus variables
VULPUS_HOST_PORTvulpus_host_port8086Port to which the service container port is forwarded on the host machine. Used for interacting with the service.
VULPUS_POSTGRES_USERNAMEvulpus_postgres_usernamevulpusLogin for connecting to the database.
VULPUS_POSTGRES_PASSWORDvulpus_postgres_passwordvulpusPassword for connecting to the database.
VULPUS_NODE_INTERFACEhazelcast_node_interface{{ naice_address }}Interface IP address for communication with a neighboring instance in a high-availability deployment.
VULPUS_NODE_MEMBERShazelcast_node_members127.0.0.1Interface IP address of the neighboring node for communication in a high-availability deployment.
Lepus variables
LEPUS_HOST_PORTlepus_host_port8087Port to which the service container port is forwarded on the host machine. Used for interacting with the service.
LEPUS_REPOSITORY_BATCH_SIZElepus_repository_batch_size500Batch size for saving probes to the database (count).
LEPUS_POSTGRES_USERNAMElepus_postgres_usernamelepusLogin for connecting to the database.
LEPUS_POSTGRES_PASSWORDlepus_postgres_passwordlepusPassword for connecting to the database.
LEPUS_DHCP_PROBE_ENABLEDlepus_dhcp_probe_enabledtrueEnable/disable DHCP probe collection.
LEPUS_DHCP_PROBE_HOST_PORTlepus_dhcp_probe_host_port67External service port for collecting DHCP probes.
LEPUS_DHCP_PROBE_SCHEDULE_CLEAR_PROBES_AFTER_DAYSlepus_dhcp_probe_schedule_clear_probes_after_days30DHCP probe retention time in the database.
LEPUS_DHCP_PROBE_SCHEDULE_CLEAN_EXPIRED_CRONlepus_dhcp_probe_schedule_clean_expired_cron0 0 * * * *Schedule for running the task to clean up expired DHCP probes from the database.
Gulo variables
GULO_HOST_PORTgulo_host_port8089Port to which the service container port is forwarded on the host machine. Used for interacting with the service.
GULO_USER_LABELno{{ naice_address }}/v{{ version_tag }}
Aquila variables
AQUILA_HOST_PORTaquila_host_port8091Port to which the service container port is forwarded on the host machine. Used for interacting with the service.
AQUILA_CACHE_TTL_Saquila_cache_ttl_s300naice-aquila cache lifetime in seconds, during which the service stores authentication and authorization settings. After this time, settings are re-read.
AQUILA_POSTGRES_USERNAMEaquila_postgres_usernameaquilaLogin for connecting to the database.
AQUILA_POSTGRES_PASSWORDaquila_postgres_passwordaquilaPassword for connecting to the database.
AQUILA_DB_POOL_SIZEaquila_db_pool_size5Number of connections for connecting to the database. aquila.
AQUILA_DB_POOL_MIN_IDLEaquila_db_pool_min_idle1Minimum number of connections for the aquila database in idle mode.
AQUILA_DB_POOL_IDLE_TIMEOUTaquila_db_pool_idle_timeout60000Response wait time when connecting to the database, ms.
AQUILA_DB_POOL_CONNECTION_LIFETIMEaquila_db_pool_connection_lifitime1800000Connection lifetime to the database, s.
AQUILA_URSUS_DB_POOL_MIN_IDLEaquila_ursus_db_pool_min_idle2Minimum number of connections for the ursus database in idle mode.
AQUILA_URSUS_DB_POOL_SIZEaquila_ursus_db_pool_size10Number of connections for connecting to the database. ursus.
AQUILA_FLUSH_SECaquila_flush_sec60Interval for persisting sessions and accounting to the database, s.
AQUILA_SESSIONS_CLEAN_CRONaquila_session_clean_cron0 0 * * * *Interval for cleaning up sessions and accounting from the database, by default every hour.
AQUILA_NODE_INTERFACEhazelcast_node_interface{{ naice_address }}Interface IP address for communication with a neighboring instance in a high-availability deployment.
AQUILA_NODE_MEMBERShazelcast_node_members127.0.0.1Interface IP address of the neighboring node for communication in a high-availability deployment.
AQUILA_USER_CACHE_ENABLEaquila_user_cache_enableTrueEnable caching of the username when executing command authorization. Possible values: True / False. When set to False, each command authorization request will trigger a check for the username existence in the identity source.
AQUILA_USER_CACHE_TTL_Saquila_user_cache_ttl_s300Username cache retention time when executing command authorization.
Bubo variables
BUBO_HOST_PORTbubo_host_port8093Port to which the service container port is forwarded on the host machine. Used for interacting with the service.
BUBO_NODE_INTERFACEhazelcast_node_interface{{ naice_address }}IP address/DNS name of the interface for communication with a neighboring instance in a high-availability deployment.
BUBO_NODE_MEMBERShazelcast_node_members127.0.0.1IP addresses/DNS names of instances participating in  high-availability deployment.
BUBO_POSTGRES_USERNAMEbubo_postgres_usernamebuboLogin for connecting to the database.
BUBO_POSTGRES_PASSWORDbubo_postgres_passwordbuboPassword for connecting to the database.
BUBO_CACHE_TTL_Sbubo_cache_ttl_s300
BUBO_SMS_SCHEDULE_CLEAN_EXPIRED_CRONbubo_sms_schedule_clean_expired_cron0 0 * * * *Interval for cleaning up SMS records from the database, by default every hour.
BUBO_SMS_TO_DELETE_DAYSbubo_sms_to_delete_days31Retention period for sent SMS information in the database.
Castor variables
CASTOR_HOST_PORTcastor_host_port8095Port to which the service container port is forwarded on the host machine. Used for interacting with the service.
CASTOR_POSTGRES_USERNAMEcastor_postgres_usernamecastorLogin for connecting to the database.
CASTOR_POSTGRES_PASSWORDcastor_postgres_passwordcastorPassword for connecting to the database.
CASTOR_NODE_INTERFACEhazelcast_node_interface{{ naice_address }}IP address/DNS name of the interface for communication with a neighboring instance in a high-availability deployment.
CASTOR_NODE_MEMBERShazelcast_node_members127.0.0.1IP addresses/DNS names of instances participating in a high-availability deployment.
CASTOR_DB_POOL_SIZEcastor_db_pool_size10Number of connections for connecting to the database.
CASTOR_DB_POOL_MIN_IDLEcastor_db_pool_min_idle2Minimum number of connections for the database in idle mode.
CASTOR_DB_POOL_IDLE_TIMEOUTcastor_db_pool_idle_timeout60000Response wait time when connecting to the database, ms.
CASTOR_DB_POOL_CONNECTION_LIFETIMEcastor_db_pool_connection_lifetime1800000Connection lifetime to the database, s.
CASTOR_CACHE_TTL_Scastor_cache_ttl_s300User information cache retention time, s.
CASTOR_REQUESTS_RATE_LIMITcastor_requests_rate_limit1000Maximum number of REST requests to the service within the time period specified by the CASTOR_SECONDS_RATE_LIMIT variable.
CASTOR_SECONDS_RATE_LIMITcastor_seconds_rate_limit10Time period for counting REST requests to the service, s.
CASTOR_MAX_THREAD_COUNTcastor_max_thread_count20Maximum number of threads when processing REST requests to the service.
Sterna variables
STERNA_HTTPS_PORTsterna_https_port444HTTPS port on which the service runs inside the container.
STERNA_HTTP_PORTsterna_http_port81HTTP port on which the service runs inside the container.
STERNA_HTTPS_HOST_PORTsterna_host_port8443HTTPS port to which the service container port is forwarded on the host machine. Used for interacting with the service.
STERNA_HTTP_HOST_PORTsterna_host_port8443HTTP port to which the service container port is forwarded on the host machine. Used for interacting with the service. Not used by default, requires manual activation.
FRONTEND_STERNA_URLfrontend_sterna_urlhttps://{{ ansible_host }}:8443Portal redirect URL that will be used for authenticating portal users.
Mustela variables
MUSTELA_HOST_PORTmustela_host_port8098Port to which the service container port is forwarded on the host machine. Used for interacting with the service.
MUSTELA_POSTGRES_USERNAMEmustela_postgres_usernamemustelaLogin for connecting to the database.
MUSTELA_POSTGRES_PASSWORDmustela_postgres_passwordmustelaPassword for connecting to the database.
MUSTELA_DB_POOL_SIZEmustela_db_pool_size25Maximum number of connections for connecting to the database.
MUSTELA_DB_POOL_MIN_IDLEmustela_db_pool_min_idle5Minimum number of connections for the database in idle mode.
MUSTELA_DB_POOL_IDLE_TIMEOUTmustela_db_pool_idle_timeout60000Response wait time when connecting to the database, ms.
MUSTELA_DB_POOL_CONNECTION_LIFETIMEmustela_db_pool_connection_lifetime1800000Connection lifetime to the database, ms.
MUSTELA_NODE_INTERFACEhazelcast_node_interface{{ naice_address }}IP address/DNS name of the interface for communication with a neighboring instance in a high-availability deployment.
MUSTELA_NODE_MEMBERShazelcast_node_members127.0.0.1IP addresses/DNS names of instances participating in a high-availability deployment.
MUSTELA_EVENTS_CLEAN_CRONmustela_events_clean_cron0 0 3 * * *Interval for cleaning up events past their retention period from the database, by default every 3 hours.
Phoca variables
PHOCA_HOST_PORTphoca_host_port8097Port to which the service container port is forwarded on the host machine. Used for interacting with the service.
PHOCA_POSTGRES_USERNAMEphoca_postgres_usernamephocaLogin for connecting to the database.
PHOCA_POSTGRES_PASSWORDphoca_postgres_passwordphocaPassword for connecting to the database.
PHOCA_DB_POOL_SIZEphoca_db_pool_size5Maximum number of connections for connecting to the database.
PHOCA_DB_POOL_MIN_IDLEphoca_db_pool_min_idle1Minimum number of connections for the database in idle mode.
PHOCA_DB_POOL_IDLE_TIMEOUTphoca_db_pool_idle_timeout60000Response wait time when connecting to the database, ms.
PHOCA_DB_POOL_CONNECTION_LIFETIMEphoca_db_pool_connection_lifetime1800000Connection lifetime to the database, ms.
PHOCA_HOST_DOCKER_SOCKphoca_host_docker_sock/var/run/docker.sockPath to the UNIX socket for communicating with the Docker daemon. Required for managing containers to apply configurations to services.
Cetus variables
CETUS_HOST_PORTcetus_host_port8099Port to which the service container port is forwarded on the host machine. Used for interacting with the service.
CETUS_POSTGRES_USERNAMEcetus_postgres_usernamecetusLogin for connecting to the database.
CETUS_POSTGRES_PASSWORDcetus_postgres_passwordcetusPassword for connecting to the database.
CETUS_DB_POOL_SIZEcetus_db_pool_size10Maximum number of connections for connecting to the database.
CETUS_DB_POOL_MIN_IDLEcetus_db_pool_min_idle3Minimum number of connections for the database in idle mode.
CETUS_DB_POOL_IDLE_TIMEOUTcetus_db_pool_idle_timeout60000Response wait time when connecting to the database, ms.
CETUS_DB_POOL_CONNECTION_LIFETIMEcetus_db_pool_connection_lifetime1800000Response wait time when connecting to the database, ms.
CETUS_CACHE_TTL_Scetus_cache_ttl_s300Cache lifetime in seconds, during which the service stores authentication settings. After this time, settings are re-read.
CETUS_USERS_CACHE_TTL_Scetus_users_cache_ttl_s10User cache lifetime in seconds.
CETUS_USERS_CACHE_ENABLEDcetus_users_cache_enabledtrueEnable user caching during authentication. Possible values: true / false.
CETUS_NODE_INTERFACEhazelcast_node_interface{{ naice_address }}IP address/DNS name of the interface for communication with a neighboring instance in a high-availability deployment.
CETUS_NODE_MEMBERShazelcast_node_members127.0.0.1IP addresses/DNS names of instances participating in high-availability.
CETUS_LDAP_CONNECT_TIMEOUT_MScetus_ldap_connect_timeout_ms3000Timeout for connecting to an external source via LDAP protocol, ms.
CETUS_LDAP_READ_TIMEOUT_MScetus_ldap_read_timeout_ms7000Timeout for the data retrieval process from an external source via LDAP protocol, ms.
CETUS_LDAP_REFERRAL_VALUEcetus_ldap_referral_valueignoreBehavior when receiving a referral to another server in response to an LDAP request: * "ignore" (default) - ignore and do not follow the external referral; * "follow" - automatically redirect requests to another server upon receiving a referral.
CETUS_LDAP_POOL_SIZEcetus_ldap_pool_size10Number of connections for connecting to the LDAP server at service startup.
CETUS_LDAP_POOL_MAX_SIZEcetus_ldap_pool_max_size10Maximum number of connections for connecting to the LDAP server.
CETUS_NETLOGON_LIB_SOCKET_TIMEOUT_MScetus_netlogon_lib_socket_timeout_ms5000Timeout for data exchange with an external identity source (Active Directory) via netlogon protocol, ms.
CETUS_NETLOGON_LIB_CONNECT_TIMEOUT_MScetus_netlogon_lib_connect_timeout_ms5000Timeout for connecting to an external identity source (Active Directory) via netlogon protocol, ms.
CETUS_NETLOGON_LIB_CLIENT_CACHE_ENABLEDcetus_netlogon_lib_client_cache_enabledtrueEnable computer session caching when accessing an external identity source (Active Directory) via netlogon protocol.
CETUS_NETLOGON_LIB_CLIENT_CACHE_TTL_Scetus_netlogon_lib_client_cache_ttl_s1800Computer session cache retention time, s.
CETUS_NETLOGON_LIB_CLIENT_CACHE_PERIOD_Scetus_netlogon_lib_client_cache_period_s180Interval for checking computer session existence in cache, s.
CETUS_NETLOGON_LIB_DNS_CACHE_TTL_SCETUS_NETLOGON_LIB_DNS_CACHE_TTL_S3600Cache retention time for domain controller information after DNS SRV query execution, s.
CETUS_NETLOGON_LIB_DNS_CACHE_PERIOD_Scetus_netlogon_lib_dns_cache_period_s360Interval for checking domain controller information in cache after DNS SRV query execution, s.
EPG variables
EPG_TAGepg_tag1.1-3EPG service version.
EPG_LOG_FILE_MAX_SIZEepg_log_file_max_size10Maximum size of a single log file in MB.
EPG_LOG_FILE_MAX_COUNTepg_log_file_max_count4Maximum number of log files in rotation.
EPG_KERNEL_LOG_LEVELepg_kernel_log_levelinfoLog level for EPG service "kernel" logs.
EPG_DEBUG_LOG_LEVELepg_debug_log_leveloffLog level for EPG service "debug" logs.
EPG_NETWORKING_LOG_LEVELepg_networking_log_levelinfoLog level for EPG service "networking" logs.
EPG_HOST_PORTepg_host_port8100Port to which the service container port is forwarded on the host machine. Used for interacting with the service.
RADIUS variables
General variables
RADIUS_EXPORTER_PORTradius_exporter_port9812Port used by the service to expose metrics in Prometheus format.
RADIUS_VERSION_TAGradius_version_tag{{ version_tag }}Service version
RADIUS_LOG_PATHradius_log_path/var/log/radiusFile on the host machine for storing service operation logs.
RADIUS variables for SQL module connection
RADIUS_POSTGRES_DB_HOSTradius_postgres_db_hostnaice-postgresIP address for connecting to the database.
RADIUS_POSTGRES_DB_PORTradius_postgres_db_port5432Port for connecting to the database.
RADIUS_POSTGRES_DB_LOGINradius_postgres_db_loginradiusLogin for connecting to the database.
RADIUS_POSTGRES_DB_PASSWORDradius_postgres_db_passwordradiusPassword for connecting to the database.
RADIUS variables for backup SQL module (used only in a high-availability deployment)
RADIUS_POSTGRES_RESERVED_DB_HOSTradius_postgres_reserved_db_host{{ postgres_reserved_host }}Backup PostgreSQL node address.
RADIUS_POSTGRES_RESERVED_DB_PORTradius_postgres_reserved_db_port{{ postgres_reserved_port }}Backup PostgreSQL node port.
RADIUS_POSTGRES_RESERVED_DB_LOGINradius_postgres_reserved_db_loginradiusLogin for connecting to the database.
RADIUS_POSTGRES_RESERVED_DB_PASSWORDradius_postgres_reserved_db_passwordradiusPassword for connecting to the database.
RADIUS_POSTGRES_RESERVED_ENABLEDradius_postgres_reserved_enabled0Use high-availability (0 - no, 1 - yes)
Service logging variables
nodocker_log_max_size"\"10m\""Maximum service log file size.
nodocker_log_max_file"\"10\""Maximum number of log files for a service.
Variables for high-availability deployment (located in group_vars/reservation.yml)
Variables defining PostgreSQL cluster addresses in a high-availability deployment
noprimary_db_host{{ hostvars['node_primary'].ansible_host }}Host address for installing the Primary PostgreSQL node.
nostandby_db_host{{ hostvars['node_standby'].ansible_host }}Host address for installing the Backup PostgreSQL node.
noprimary_db_port{{ hostvars['node_primary'].forwarded_postgresql_port }}Port for connecting to the PostgreSQL database on the Primary node.
nostandby_db_port{{ hostvars['node_standby'].forwarded_postgresql_port }}Port for connecting to the PostgreSQL database on the Backup node.
Parameters for configuring the keepalived service
nocheck_vip_interfacetrueCheck that the IP address specified in the hosts-cluster.yml file variable keepalived_vip is within the subnet of IP addresses configured on the target VM interfaces specified in the hosts-cluster.yml file variable keepalived_interface (true – check, false – do not check)`.
novip_server_name{{ keepalived_vip }}VIP address used for high-availability or a domain name that resolves to this address via DNS.
novip_auth_typePASSVRRP announcement authentication type.
novip_auth_passtesting123Password used in VRRP announcements.
novrrp_garp_master_refresh0Period for sending GARP messages by a VRRP instance in Primary state, s. 0 = do not send.
novrrp_garp_master_refresh_repeat1Number of GARP messages sent by a VRRP instance in MASTER state during periodic sending.
novrrp_garp_master_delay5Delay during which GARP message sending will not be performed after VRRP instance transitions to MASTER state, s.
novrrp_garp_master_repeat5Number of GARP  messages to be sent after VRRP instance transitions to MASTER state.
novirtual_router_id1Identifier for VRRP instances that provide high-availability for a single VIP address. Valid values: 1-255.
noadvert_int1Interval for sending VRRP announcements by an instance in MASTER state, s.
nocheck_interval20Interval for executing the script that checks NAICE service health status, s.
nokeepailveed_logrotate_save_n_rotated_files5Number of VRRP operation log files retained during log rotation.
nokeepailveed_logrotate_maxage30Maximum lifetime of a VRRP log file before rotation is performed, days.
nokeepailveed_logrotate_size10MMaximum size of a VRRP log file before rotation is performed, MB.
nokeepailveed_logrotate_delayweeklyInterval for performing log rotation, by default weekly.

Variables for PostgreSQL cluster interaction in a high-availability deployment (located in group_vars/postgres-cluster.yml)

After installing the PostgreSQL cluster, these variables are stored in the repmgr.env file

REPMGR_CONNECT_TIMEOUTrepmgr_connect_timeout5Wait time when connecting a node, s.
REPMGR_RECONNECT_ATTEMPTSrepmgr_reconnect_attempts3Number of node cluster connection attempts before the cluster is considered unavailable.
REPMGR_RECONNECT_INTERVALrepmgr_reconnect_interval5Interval between node cluster connection attempts, s.
REPMGR_MASTER_RESPONSE_TIMEOUTrepmgr_master_response_timeout20Wait time for a response from a node in "Primary" state, s.
REPMGR_UPGRADE_EXTENSIONrepmgr_upgrade_extension'yes'Enable replication manager extension updates after installing a new version.
BITNAMI_DEBUGbitnami_debugfalseDisable/Enable (false/true) additional replication manager logs.
REPMGR_LOG_LEVELrepmgr_log_levelinfoReplication manager event log level. Possible values: info, debug.
Variables for managing Docker subnet IP addressing (located in group_vars/networks.yml)
Variables for managing the docker_network_unmasked network
nosubnet"172.18.0.0/20"IP address range assigned to the subnet.
noip_range"172.18.8.0/21"IP address range within the assigned subnet from which addresses are allocated for running containers.
nogateway"172.18.0.1"Gateway for container traffic to exit the Docker virtual network to the external network.
Variables for managing the docker_network_external network
nosubnet"172.20.0.0/20"IP address range assigned to the subnet.
noip_range"172.20.8.0/21"IP address range within the assigned subnet from which addresses are allocated for running containers.
nogateway"172.20.0.1"Gateway for container traffic to exit the Docker virtual network to the external network.
Variables for managing the docker_network_internal network
nosubnet"172.21.0.0/20"IP address range assigned to the subnet.
noip_range"172.21.8.0/21"IP address range within the assigned subnet from which addresses are allocated for running containers.
nogateway"172.21.0.1"Gateway for container traffic to exit the Docker virtual network to the external network.