Prerequisites
Software and hardware requirements
ADCM is a software that is distributed in the form of a Docker image. To install it, you need:
- 
One of the following operating systems: - 
Ubuntu 22.04 
- 
CentOS 7 
- 
RHEL 7 
- 
Alt Linux SP 8 
- 
Alt Linux SP 10.2 
- 
Astra Linux SE 1.7 Orel 
- 
Astra Linux 1.7.6 Voronezh 
- 
RED OS 7.3 Certified edition 
 
- 
- 
A user account with sudoprivileges.
- 
An access to the official repository of CentOS Extras and CentOS Base. This repository is enabled by default, but if you have disabled it — you need to re-enable it (e.g. via editing the repository configuration file in the /etc/yum.repos.d/ directory). 
- 
The software package installer YUM/APT. 
- 
The hardware that meets the following conditions: IMPORTANTThe following system requirements are minimal. The target sizing should be calculated based on the customer requirements. - 
CPU: 4 CPU cores; 
- 
RAM: 16 GB; 
- 
HDD: 50 GB. 
 
- 
| IMPORTANTStarting with ADCM 2.7.0, any Container Registry Client with downloaded images of ADPG, ADCM, and ADCM Installer will be required to install ADPG without the Internet connection and use it as the ADCM database. The installation is done via the ADCM Installer by specifying the URL of the local storage of the ADCM and ADPG images. | 
To grant the user the necessary rights to install ADCM, do the following:
- 
Grant the rootprivileges for the user:
- 
Make sure that the /etc/sudoers file contains the record specified below depending on the operating system with the following command: $ sudo vi /etc/sudoersTo return to the command line, press Esc, type:q!, and pressEnter.
## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL## Uncomment to allow members of group wheel to execute any command
WHEEL_USERS ALL=(ALL:ALL) ALLInstall Docker
| CAUTION Do not install Docker from the official Docker site. Instead, use the official repositories of your Linux distribution. The repositories provided by operating system developers tend to be more stable and secure. | 
Below are the step-by-step procedures of Docker installation on the examples of several operating systems supported by ADCM. These steps may differ for operating system versions other than those specified on tabs.
- 
Using rootprivileges, update all packages that are currently installed in your system:$ sudo yum update -y
- 
Install the packages required for Docker installation and usage: $ sudo yum install -y yum-utils docker device-mapper-persistent-data lvm2where: - 
yum-utilsis the package that provides theyum-config-managerutility;
- 
device-mapper-persistent-dataandlvm2are packages required by the devicemapper storage driver.
 
- 
- 
Start Docker: $ sudo systemctl start docker
- 
Enable Docker as a system service: $ sudo systemctl enable docker
- 
Using rootprivileges, update all packages that are currently installed in your system:$ sudo apt-get update
- 
Install the packages required for Docker installation and usage: $ sudo apt-get install ca-certificates curlwhere: - 
ca-certificatesis the package of Root CA certificates;
- 
curlis the package for working with web resources.
 Confirm the use of additional disk space during the execution of the command. 
- 
- 
Add the official GPG key for the Docker repository: $ 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
- 
Add the Docker repository: $ echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "jammy") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- 
Update all packages, including packages for the Docker repository: $ sudo apt-get update
- 
Install Docker Engine: $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginConfirm the use of additional disk space during the execution of the command. 
- 
Start Docker: $ sudo systemctl start docker
- 
Enable Docker as a system service: $ sudo systemctl enable docker
- 
Using rootprivileges, update all packages that are currently installed in your system:$ sudo apt-get update
- 
Install Docker Engine: $ sudo apt-get install docker-engineConfirm the use of additional disk space during the execution of the command. 
- 
Start and enable Docker as a system service: $ sudo systemctl enable --now docker
- 
Using rootprivileges, update all packages that are currently installed in your system:$ sudo apt-get update
- 
Install the packages required for Docker installation and usage: $ sudo apt-get install ca-certificates curl net-toolswhere: - 
ca-certificatesis the package of Root CA certificates;
- 
curlis the package for working with web resources;
- 
net-toolsis the package for controlling the network subsystem of the Linux kernel, in particular for executing thenetstatcommand.
 Confirm the use of additional disk space during the execution of the command. 
- 
- 
Add the official GPG key for the Docker repository: $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
- 
Add the Docker repository: $ echo "deb [arch=amd64] https://download.docker.com/linux/debian stretch stable" | sudo tee -a /etc/apt/sources.list
- 
Update all packages, including packages for the Docker repository: $ sudo apt-get update
- 
Install Docker Engine: $ sudo apt install docker-ce docker-ce-cli containerd.ioConfirm the use of additional disk space during the execution of the command. 
- 
Start Docker: $ sudo systemctl start docker
- 
Enable Docker as a system service: $ sudo systemctl enable docker
- 
Install Docker Engine: $ sudo dnf install docker-ce docker-ce-cliConfirm the use of additional disk space during the execution of the command. 
- 
Start and enable Docker as a system service: $ sudo systemctl enable docker --now
Disable SELinux
| NOTEIt is recommended to disable SELinux only if CentOS 7 or RHEL 7 is used. | 
To disable SELinux permanently, set SELINUX=disabled in the /etc/selinux/config file, and reboot your system.
You can edit the file via the vi or vim command:
$ sudo vi /etc/selinux/configThe content of the changed file should look like this:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targetedYou can also disable SELinux temporarily via the following command:
$ sudo setenforce 0Still, it is strongly recommended to disable SELinux permanently, so that it does not restart on each system reboot.
| CAUTION Do not forget to reboot your host after SELinux is disabled. | 
Stop firewalld
If you use the firewalld service, stop it before installing ADCM.
Before stopping firewalld, make sure that it is installed, started, and enabled:
$ sudo systemctl status firewalldThe example of the command execution result:
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2024-12-02 10:02:57 UTC; 3min 25s ago
     Docs: man:firewalld(1)
 Main PID: 3023 (firewalld)
    Tasks: 2
   Memory: 22.8M
   CGroup: /system.slice/firewalld.service
           └─3023 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
Stop firewalld:
$ sudo systemctl stop firewalldAs an alternative, you can disable the firewalld service, so that it will not apply rules to network packets:
$ sudo systemctl disable firewalldAllow access to the Docker CLI without root privileges
If in the future you want to access the Docker CLI without using root privileges, you should create a docker user group (if it does not exist) and add the current user to this group with the certain rights:
$ sudo groupadd docker
$ sudo usermod -a -G docker $USERAfter running these commands, you should re-login under the current user.