# Установка XRM на РЕД ОС

***

Развертывание осуществляется через терминал. Откройте терминал (командную строку) на вашей системе. Для этого вы можете нажать сочетание клавиш `Ctrl + Alt + T` (для большинства дистрибутивов Linux) или просто найти и запустить приложение "Терминал" (Terminal).

{% hint style="info" %}
Для успешной установки требуются права администратора. Для выполнения команд с такими правами, используйте команду **`sudo`**

Если вы используете **`su`**, сначала войдите в режим суперпользователя с помощью команды **`su`**`,` а затем выполняйте необходимые команды
{% endhint %}

#### Установка Docker:

**1.** Установить средство контейнеризации **docker**.

```bash
sudo dnf install docker-ce docker-ce-cli
```

В процессе на вопрос "Продолжить? \[д/Н]:" ввести "д"

**2.** Запустить сервис контейнеризации **docker** и добавить его в автозагрузку.

```bash
sudo systemctl enable docker --now
```

**3.** Убедиться что сервис запущен, проверив статус запущенной службы.

```bash
systemctl status docker
```

Вывод:

```
● docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
     Active: active (running) since Tue 2023-08-22 20:21:41 MSK; 1min 48s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 30877 (dockerd)
      Tasks: 10
     Memory: 21.6M
        CPU: 785ms
     CGroup: /system.slice/docker.service
             └─30877 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
```

В статусе должно быть отображено **active (running)**.

#### Установка Docker Compose:

**4.** Загрузить Docker Compose версии 2.20.3 из официального репозитория Github.

```
su -c "curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose"
```

**5.** Установить разрешения.

```
sudo chmod +x /usr/local/bin/docker-compose
```

#### **Установка XRM:**

После того, как **Docker** и **Docker Compose** установлены, приступаем к развертыванию **X Recovery Manager** **версии 1.1.** с использованием контейнеров **Docker**.

**6.** Создать директорию **xrm\_v1.1** для X Recovery Manager в каталоге `/home`

```bash
sudo mkdir /home/xrm_v1.1
```

Убедиться, что она была успешно создана.

```bash
ls -l /home
```

Вы должны увидеть список файлов и папок в каталоге `/home`, включая только что созданную директорию `xrm_v1.1`

**7.** Перейти в нее

```bash
cd /home/xrm_v1.1
```

**8.** Загрузить файл архив **XRM** `xrm-docker_v1_1.tar.gz`

```bash
sudo wget --no-check-certificate https://files.x-rm.ru/releases/v1.1/xrm-docker_v1_1.tar.gz
```

**9.** Распаковать содержимое архива`xrm-docker_v1_1.tar.gz` в директорию home`/xrm_v1.1`

```bash
sudo tar -zxvf xrm-docker_v1_1.tar.gz
```

**10.** Выполнить развертывание сервисов веб-приложения XRM.

```bash
su -c "docker-compose up -d"
```

**11.** Проверить состояния контейнеров. Убедиться, что сервисы успешно запущены и работают.

```bash
sudo docker ps -a
```

Вывод:

```
CONTAINER ID   IMAGE                                   COMMAND                  CREATED          STATUS                             PORTS                                                 NAMES
50b9e16fd1f9   xrmtech/st2web_xrm:v1.1                 "/bin/bash -c 'if [ …"   11 minutes ago   Up 11 minutes (healthy)            0.0.0.0:80->80/tcp, 443/tcp                           xrm-web
2abfe878a161   stackstorm/st2actionrunner:latest       "/st2client-startup.…"   11 minutes ago   Up 11 minutes (health: starting)                                                         xrm-client
dbd640b150c3   stackstorm/st2chatops:latest            "/st2chatops-startup…"   11 minutes ago   Exited (0) 11 minutes ago                                                                xrm-chatops
c49f1cbf8c57   stackstorm/st2sensorcontainer:latest    "/opt/stackstorm/st2…"   11 minutes ago   Up 11 minutes                                                                            xrm-sensorcontainer
b04be12f2126   stackstorm/st2actionrunner:latest       "/opt/stackstorm/st2…"   11 minutes ago   Up 11 minutes                                                                            xrm-actionrunner
052162408f36   stackstorm/st2stream:latest             "/opt/stackstorm/st2…"   11 minutes ago   Up 11 minutes                      9102/tcp                                              xrm-stream
c8e672f55821   stackstorm/st2timersengine:latest       "/opt/stackstorm/st2…"   11 minutes ago   Up 11 minutes                                                                            xrm-timersengine
db4865781c48   stackstorm/st2garbagecollector:latest   "/opt/stackstorm/st2…"   11 minutes ago   Up 11 minutes                                                                            xrm-garbagecollector
b04a714f72b1   stackstorm/st2auth:latest               "/opt/stackstorm/st2…"   11 minutes ago   Up 11 minutes                      9100/tcp                                              xrm-auth
142bd853c2cf   stackstorm/st2scheduler:latest          "/opt/stackstorm/st2…"   11 minutes ago   Up 11 minutes                                                                            xrm-scheduler
ff59dd15839c   stackstorm/st2rulesengine:latest        "/opt/stackstorm/st2…"   11 minutes ago   Up 11 minutes                                                                            xrm-rulesengine
9cdcccda257d   stackstorm/st2notifier:latest           "/opt/stackstorm/st2…"   11 minutes ago   Up 11 minutes                                                                            xrm-notifier
c023b2e703e2   stackstorm/st2workflowengine:latest     "/opt/stackstorm/st2…"   11 minutes ago   Up 11 minutes                                                                            xrm-workflowengine
e80a59068a5c   stackstorm/st2api:latest                "/opt/stackstorm/st2…"   11 minutes ago   Up 11 minutes                      9101/tcp                                              xrm-api
00ca5c1b51eb   redis:6.2                               "docker-entrypoint.s…"   11 minutes ago   Up 11 minutes                      6379/tcp                                              xrm-redis
3b3ff3ddb180   mongo:4.4                               "docker-entrypoint.s…"   11 minutes ago   Up 11 minutes                      27017/tcp                                             xrm-mongo
cd5ed5c2091a   rabbitmq:3.8                            "docker-entrypoint.s…"   11 minutes ago   Up 11 minutes                      4369/tcp, 5671-5672/tcp, 15691-15692/tcp, 25672/tcp   xrm-rabbitmq
08b31d8b99bd   xrmtech/xrm-controller:v1.1             "./xrm-controller"       11 minutes ago   Up 11 minutes                      0.0.0.0:8080->8080/tcp, :::8080->8080/tcp             xrm-controller
0dfb0556eb11   stackstorm/st2actionrunner:latest       "/makesecrets.sh"        11 minutes ago   Exited (0) 11 minutes ago                                                                xrm-makesecrets
```

В результате Вы увидите список контейнеров, который будет содержать информацию о каждом контейнере, включая его имя, ID, статус, порты, используемые ресурсы и другие сведения.

#### Установка завершена.
